MFC 테크닉 - NetworkDrive
# 네트워크에서 운영되는 HDD 드라이브
> 근거리 통신망으로 네트워크의 선택된 사용자에게 공유
> 표준 디스크 드라이브와 동일하게 액세스를 제공
# 소스 코드
bool CNetworkDrive::ConnectDrive(CString local_name, CString remote_name, CString userID, CString password)
{
try
{
NETRESOURCE rc;
memset(&rc, 0, sizeof(NETRESOURCE));
rc.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
rc.dwScope = RESOURCE_GLOBALNET;
rc.dwType = RESOURCETYPE_DISK;
rc.dwUsage = RESOURCEUSAGE_CONNECTABLE;
rc.lpLocalName = local_name.GetBuffer();
rc.lpRemoteName = remote_name.GetBuffer();
rc.lpProvider = NULL;
DWORD flags = CONNECT_UPDATE_PROFILE | CONNECT_CMD_SAVECRED;
if (WNetAddConnection2(&rc, password, userID, flags) == NO_ERROR)
{
return true;
}
}
catch (...)
{
}
return false;
}
bool CNetworkDrive::DisconnectDrive(CString local_name)
{
try
{
// 강제로 연결끊기
if (WNetCancelConnection2(local_name, CONNECT_UPDATE_PROFILE, TRUE) == NO_ERROR)
{
return true;
}
}
catch (...)
{
}
return false;
}