Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14649] Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시
오랑캐꽃 [oranke] 3178 읽음    2013-04-11 13:34
구글을 뒤져보니 XP, 또는 윈도 2000용 패치가 있군요. 살펴보세요.
http://support.microsoft.com/kb/321733/ko

저 함수 만든지 오래되어서 기억이 가물가물한데...
WNetUseConnection() 을 한번이라도 호출하면, 탐색기등에서 해당 리소스에 접근할 때도 암호가 저장되던가요??
제 기억에는 플래그에 CONNECT_UPDATE_PROFILE 를 설정하지 않으면 연결정보가 현재 프로필에 적용되지 않았던 것 같은데...
테스트해보시고 WNetCancelConnection () 은 굳이 호출하지 않으셔도 괜찮을 듯 합니다.



엘레코스 님이 쓰신 글 :
: 안녕하세요?
: A컴퓨터에 암호를 건 공유폴더를 만들어 그안에 MyData.mdb화일을 두었습니다.
: B컴퓨터에서 네트웍(LAN환경)으로 MyData.mdb화일을 접근하여 데이터처리를 하고 있는데요, 종종 ‘Windows-지연된 쓰기 실패’ 라는 메시지가 오른쪽 하단, 트라이 아이콘이 위치한 곳에서 뜹니다.(OS에서 보내주는 메시지인것 같음)
:
: 사용한 API는, 암호걸린 공유폴더에 접속하기위해 WNetUseConnection를 사용하였구요, 반환을 위한 API는 WNetCancelConnection 를 이용하였습니다. 코드(오랑캐꽃 님이 제공)는 아래와 같구요.
:
: 오류메시지는 프로그램이 종료가 된 후(반환 API 호출후에)에 뜨고 있습니다. 프로그램 종료는 정상적으로 되는데 종료되자마다 정확하게 다음과 같은 메시지가 뜨고 있습니다.
:
: “Windows-지연된 쓰기 실패.. MyData.ldb에 대한 모든 데이타를 저장하지 못했습니다. 데이터가 손실되었습니다. 사용자 컴퓨터의 하드웨어 또는 네트워크 연결 오류때문에 발생했습니다.이 파일을 다른곳에 저장해 보십시오."
:
: 공유폴더에 암호를 제거하면(위의 API 사용안하면) 위의 메시지는 나오지 않는데요, 암호를 걸어서 위의 API 를 사용할때 나오고 있습니다. 윈도우XP를 사용하고 있구요, 해결할 방안이 없겠는지요?
:
:
: //암호걸린 네트웍 공유폴더에 접근하기
: function UseConnection(const aDomain, aUserID, aPassWord: String; var ConnStr: String): Boolean;
:   var
:     NetResource: TNetResource;
:     ConnStrLen: DWORD;
:     RetFlag: DWORD;
:     RetValue: DWORD;
:   begin
:     FillChar(NetResource, SizeOf(TNetResource), 0);
:     with NetResource do
:     begin
:       dwType := RESOURCETYPE_ANY;
:       lpLocalName := nil;   // 로컬 드라이브 지정하지 않음
:       lpRemoteName := PChar('\\' + aDomain);
:       lpProvider := nil;
:     end;
:     SetLength(ConnStr, MAX_PATH);
:     ConnStrLen := MAX_PATH;
:     RetValue:=
:       WNetUseConnection(
:         0, NetResource,
:         PChar(aPassWord), PChar(aUserID), CONNECT_INTERACTIVE,
:         PChar(ConnStr), ConnStrLen, RetFlag
:       );
:     SetLength(ConnStr, StrLen(PChar(ConnStr)));
:     ConnStr := '\\'+aDomain;
:     Result := RetValue = 0;
: end;
:
:
: //다 사용한 권한은 WNetCancelConnection() API 로 반환
: WNetCancelConnection(PChar(ConnStr), true) ==> 이 명령을 줌과 함께 프로그램을 종료시키고 있음
:

+ -

관련 글 리스트
14648 [질문]암호걸린 공유폴더에 있는 데이타 처리시 "Windows-지연된 쓰기 실패" 오류 문의 엘레코스 2951 2013/04/11
14649     Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 오랑캐꽃 3178 2013/04/11
14650         Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 엘레코스 2319 2013/04/11
14651             Re:Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 오랑캐꽃 2286 2013/04/11
14653                 Re:Re:Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 엘레코스 2178 2013/04/11
14664                     답변을 감사합니다,(냉) 따랑 1885 2013/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.