본문 바로가기
데스크탑/비주얼 베이직 6

[API]Network drive 끊기

by 브래드.권 2009. 1. 16.


선언)

Public Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" _
       (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long

Public Const NO_ERROR = 0
Public Const CONNECT_UPDATE_PROFILE = &H1


설명)
Windows 95 버전 이상에서 사용할 수 있습니다.
위의 API 함수를 먼저 선언해주어야 하며, 파라미터의 설명은 다음과 같습니다.

lpName : network drive name. 현재 매핑되어있는 네트워크 드라이브의 경로로 예로 W: 같은 것입니다.


dwFlags :
0
해당 네트워크 드라이브의 연결이 세팅에 따라 갑니다. 만약 지속적인 것으로 표시되있으면, 윈도우를 로긴할때 마다 해당 네트워크 드라이브를 복구하고, 표시되있지 않다면 복구를 하지 않습니다.

CONNECT_UPDATE_PROFILE
해당 네트워크 드라이브를 지속적이지 않은 것으로 표시합니다. 그럼으로써 윈도우를 다시 로긴하더라도 복구를 하지 않도록 하는 것입니다.

fForce :
true
강제로 연결을 끊는 옵션으로, 네트워크 드라이브의 폴더나 파일, 작업같은 것이 열려있더라고 강제로 끊어버립니다.

false
만약 네트워크 드라이브의 폴더나 파일, 작업이 열려있으면 연결을 끊지 않고 함수의 작동은 실패합니다.

리턴값은 다음과 같습니다.
NO_ERROR : 0인 값으로, 함수이 작동이 성공적으로 이루어졌을 때 반환됩니다.

예제)

 lngResult = WNetCancelConnection2("W:", CONNECT_UPDATE_PROFILE, False)
    

 If lngResult <> NO_ERROR Then
    MsgBox "Cannot disconnect W drive", vbOKOnly
 End If