2009-09-24 2 views
3

때때로 "연결이 끊어져"때문에 드라이브 문자에 이미 매핑 된 네트워크 드라이브. 일반 Windows 기능을 사용하여 해당 드라이브의 파일/폴더에 액세스하지 못합니다. 사용자가 직접 Windows 탐색기 대화 상자에서 해당 드라이브를 수동으로 클릭하면 마술로 복구됩니다."연결이 끊긴"드라이브 매핑을 수정하는 중

내 프로그램은 일괄 프로그램이므로 내 프로그램 (C++)에서이 "마법"을 시작하고 싶지만 Windows 기능을 찾지 못했습니다. 보통의 WNET ... 기능에 아무것도 없습니다 ...

+0

매핑 된 드라이브가 아닌 UNC 경로를 통해 리소스에 액세스하는 것이 좋습니다. \\ 컴퓨터 \ 공유 \ 뭔가의 \의 somefile.ext 대 M : \ 내 고객이 경로를 선택 \ somefile.ext – CMB

+0

뭔가. 그래서 결정할 내게 달렸어 ... – user178379

답변

0
net use를 통해

한번에 공유에 다시 연결을 : 그래도 문제가 해결되지 않으면

net use \\server\folder [/user:[domain\]username] [password] 

, 당신은 먼저 net use /delete 수 있습니다 다음, 재 잇다.

+0

그게 효과가있다. 사용자가 이전 연결에 암호를 연결하지 않은 경우. 내 응용 프로그램은 그 사실을 모르기 때문에 암호를 효과적으로 삭제할 것입니다. 그러나 공식적인 "복구 방법"이없는 것 같습니다. – user178379

0

WNetAddConnection 및 WNetAddConnection2의 용도가 아닌가요?

+0

아니요, 기존 연결을 복구하는 대신 새 연결을 추가하는 것입니다. – user178379

0

나는 이것이 정말로 똑같다고 생각합니다. Explorer는 아마 레지스트리 어딘가에 연결 정보를 캐시합니다. 사용자가 해당 드라이브로 이동하려고하면 매핑이 끊어진 것을보고 레지스트리에서 연결 정보를 읽고 연결을 다시 만듭니다. 드라이브 매핑을 생성하는 동안 regmon을 실행하고 연결 정보가 캐시 된 위치와 방법을 파악할 수 있는지 알아볼 수 있습니다.

0

오래 전에 내 고객에게이 문제가있었습니다. 상황에 따라 가능할지 모르겠지만 시간 제한을 중단하고 연결을 끊으려면 서버의 네트워크 설정을 조정해야합니다. 자세한 내용은 MSKB 297684을 참조하십시오.

1
NET USE V: /DELETE 
NET USE V: "\\server1\videos" 

NET USE L: /DELETE 
NET USE L: "\\server2\archive" 
0

위의 CMB의 의견에 동의합니다. 나는 과거에이 길 (말장난을 용서해라.)의 아래에 있었다. 그리고 그것은 나에게 문제의 끝을 초래했다.

경로를 사용자가 구성 할 수 있으면 m : \ pathonserver를 사용하거나 \ server \ c \ pathonserver를 사용할 수 있습니다.

m : \ blahdeblah.dat 또는 \ server \ c \ blahdeblah.dat가 동일하므로 파일을 열어도 코드가 변경되어서는 안됩니다.

UNC 경로를 사용하는 것이 훨씬 안정적이므로 Windows는 매핑 된 문자가 있는지 여부에 관계없이 해당 경로에 자동으로 다시 연결합니다.

1

경로를 삽입하면 네트워크 리소스인지, 파일을 열기 전에 WNetGetConnection()을 사용하여 네트워크 리소스를 얻을 수 있는지 확인할 수 있습니다.

WNetRestoreConnectionW()도 사용할 수 있습니다. 환경에 따라 더 가짜 지원을하는 것 같습니다.

관련 문제