ICopyHookW-Schnittstelle (shlobj.h)
Macht eine Methode verfügbar, die einen Kopierhakenhandlererstellt. 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 ICopyHookW::CopyCallback Methode auf, bevor sie einen dieser Vorgänge ausführen.
Erbschaft
Die ICopyHookW Schnittstelle erbt von der IUnknown-Schnittstelle.
Methodik
Die ICopyHookW--Schnittstelle weist diese Methoden auf.
ICopyHookW::CopyCallback Bestimmt, ob die Shell ein Ordner- oder Druckerobjekt verschieben, kopieren, löschen oder umbenennen darf. (Unicode) |
Bemerkungen
Der Copy Hook-Handler, bei dem es sich um einen OLE-In-Process-Server (dll) handelt, führt die Aufgabe nicht selbst aus, genehmigt oder deaktiviert die Aktion. 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 aktionen, die für Ordnerobjekte ausgeführt werden, nicht überwachen können, es sei denn, FindFirstChangeNotification verwendet wird.
Ein Ordnerobjekt kann über mehrere Kopierhakenhandler verfügen. Selbst wenn die Shell bereits über einen Kopierhakenhandler verfügt, der für ein bestimmtes Ordnerobjekt registriert ist, können Sie trotzdem einen eigenen registrieren. Wenn zwei oder mehr Kopier-Hook-Handler für ein Objekt registriert sind, ruft die Shell einfach jeden von ihnen auf, bevor sie einen der angegebenen Dateisystemvorgänge ausführen.
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 davon 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 nicht mehr ausgeführt 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 vor dem Verschieben, Kopieren, Löschen oder Umbenennen eines Shell-Ordnerobjekts von der Shell aufgerufen.
Anmerkung
Der Shlobj.h-Header definiert ICopyHook als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Header- | shlobj.h |