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
[14650] Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시
엘레코스 [elechos] 2318 읽음    2013-04-11 16:40
답변 감사드립니다^^
그런데요, WNetCancelConnection () 을 호출하지 않으면, 컴퓨터 종료시(PC전원끌때) '네트워크 닫는중...' 라는 메시지가
뜹니다. 위 함수를 호출하여 반환하면, 메시지는 뜨지 않구요. 
WNetCancelConnection () 을 호출하지 않으면, 컴퓨터 종료시 자동으로 네트웍 연결된 것이 해제되는 것 같은데요,
반환하지 않았다고 해서 문제될 것은 없겠죠? 몇명이 MyData.mdb를 동시에 접근하여 사용하고 있거든요.

오랑캐꽃 님이 쓰신 글 :
: 구글을 뒤져보니 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:[질문]암호걸린 공유폴더에 있는 데이타 처리시 엘레코스 2318 2013/04/11
14651             Re:Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 오랑캐꽃 2285 2013/04/11
14653                 Re:Re:Re:Re:[질문]암호걸린 공유폴더에 있는 데이타 처리시 엘레코스 2177 2013/04/11
14664                     답변을 감사합니다,(냉) 따랑 1885 2013/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.