ICopyHookA 인터페이스(shlobj.h)
복사 후크 처리기를 만드는 메서드를 노출합니다. 복사 후크 처리기는 Shell 폴더 또는 프린터 개체를 이동, 복사, 이름 바꾸기 또는 삭제할 수 있는지 여부를 결정하는 Shell 확장입니다. Shell은 이러한 작업 중 하나를 수행하기 전에 ICopyHookA::CopyCallback 메서드를 호출합니다.
상속
ICopyHookA 인터페이스는 IUnknown 인터페이스에서 상속됩니다.
메서드
ICopyHookA 인터페이스에는 이러한 메서드가 있습니다.
ICopyHookA::CopyCallback 셸이 폴더 또는 프린터 개체를 이동, 복사, 삭제 또는 이름을 바꿀 수 있는지 여부를 결정합니다. (ANSI) |
설명
OLE In Process 서버(dll)인 복사 후크 처리기는 작업 자체를 수행하지 않지만 작업을 승인하거나 거부합니다. 셸이 복사 후크 처리기로부터 승인을 받으면 파일 시스템 작업을 수행합니다. 복사 후크 처리기는 작업의 성공 여부를 알 수 없으므로 FindFirstChangeNotification 을 사용하지 않는 한 폴더 개체에서 수행된 작업을 모니터링할 수 없습니다.
폴더 개체에는 여러 복사 후크 처리기가 있을 수 있습니다. 예를 들어 Shell에 이미 특정 폴더 개체에 대해 등록된 복사 후크 처리기가 있는 경우에도 사용자 고유의 항목 중 하나를 등록할 수 있습니다. 개체에 대해 두 개 이상의 복사 후크 처리기가 등록된 경우 셸은 지정된 파일 시스템 작업 중 하나를 수행하기 전에 각각을 호출하기만 하면 됩니다.
셸은 먼저 IShellExtInit 인터페이스를 사용하지 않고 ICopyHookA를 직접 초기화합니다.
CopyCallback 은 셸이 작업을 수행해야 하는지 여부를 나타내는 int 값을 반환합니다. Shell은 모든 처리기가 호출되거나 그 중 하나가 IDYES 이외의 값을 반환할 때까지 폴더 개체에 등록된 각 복사 후크 처리기를 호출합니다. 처리기는 작업을 수행하도록 지정하기 위해 IDYES를 반환하거나, 작업을 중단하도록 지정하기 위해 IDNO 또는 IDCANCEL을 반환합니다.
지정된 개체에서 이러한 파일 시스템 작업이 수행되는 시기 또는 시기를 제어하려는 경우 복사 후크 처리기를 구현합니다. 예를 들어 공유 폴더에서 복사 후크 처리기를 사용할 수 있습니다.
이 셸 확장을 직접 호출하지 않습니다. CopyCallback 은 Shell 폴더 개체를 이동, 복사, 삭제 또는 이름 바꾸기 전에 Shell에서 호출됩니다.
참고
shlobj.h 헤더는 ICopyHook를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
머리글 | shlobj.h |