ICopyHookA-Schnittstelle (shlobj.h)

Macht eine Methode verfügbar, die einen Kopierhakenhandler erstellt. Ein Kopierhakenhandler ist eine Shell-Erweiterung, die bestimmt, ob ein Shell-Ordner oder Druckerobjekt verschoben, kopiert, umbenannt oder gelöscht werden kann. Die Shell ruft die ICopyHookA::CopyCallback-Methode auf, bevor sie einen dieser Vorgänge ausführt.

Vererbung

Die ICopyHookA-Schnittstelle erbt von der IUnknown-Schnittstelle.

Methoden

Die ICopyHookA-Schnittstelle verfügt über diese Methoden.

 
ICopyHookA::CopyCallback

Bestimmt, ob die Shell einen Ordner oder ein Druckerobjekt verschieben, kopieren, löschen oder umbenennen darf. (ANSI)

Bemerkungen

Der Kopierhakenhandler, bei dem es sich um einen OLE-In-Process-Server (eine DLL) handelt, führt die Aufgabe nicht selbst aus, genehmigt oder erteilt die Aktion nicht. Wenn die Shell die Genehmigung vom Kopierhakenhandler erhält, führt sie den Dateisystemvorgang aus. Kopierhakenhandler werden nicht über den Erfolg eines Vorgangs informiert, sodass sie keine Aktionen für Ordnerobjekte überwachen können, es sei denn , FindFirstChangeNotification wird verwendet.

Ein Ordnerobjekt kann über mehrere Kopierhakenhandler verfügen. Auch wenn die Shell bereits über einen Kopierhakenhandler für ein bestimmtes Ordnerobjekt registriert ist, können Sie dennoch einen eigenen registrieren. Wenn zwei oder mehr Kopierhakenhandler für ein Objekt registriert sind, ruft die Shell einfach jeden von ihnen auf, bevor sie einen der angegebenen Dateisystemvorgänge ausführt.

Die Shell initialisiert ICopyHookA direkt, ohne zuerst die IShellExtInit-Schnittstelle zu verwenden.

CopyCallback gibt einen int-Wert zurück, der angibt, ob die Shell den Vorgang ausführen soll. Die Shell ruft jeden Kopierhakenhandler auf, der für ein Ordnerobjekt registriert ist, bis alle Handler aufgerufen wurden oder bis einer von ihnen einen anderen Wert als IDYES zurückgegeben hat. Der Handler gibt IDYES zurück, um anzugeben, dass der Vorgang ausgeführt werden soll, oder IDNO oder IDCANCEL, um anzugeben, dass der Vorgang abgebrochen werden soll.

Implementieren Sie einen Kopierhakenhandler, wenn Sie steuern möchten, wann oder ob diese Dateisystemvorgänge für ein bestimmtes Objekt ausgeführt werden. Sie können beispielsweise einen Kopierhakenhandler für freigegebene Ordner verwenden.

Sie rufen diese Shell-Erweiterung nicht direkt auf. CopyCallback wird von der Shell aufgerufen, bevor ein Shell-Ordnerobjekt verschoben, kopiert, gelöscht oder umbenannt wird.

Hinweis

Der shlobj.h-Header definiert ICopyHook als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Kopfzeile shlobj.h