ICopyHookA::CopyCallback-Methode (shlobj.h)

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

Syntax

UINT CopyCallback(
  HWND  hwnd,
  UINT  wFunc,
  UINT  wFlags,
  PCSTR pszSrcFile,
  DWORD dwSrcAttribs,
  PCSTR pszDestFile,
  DWORD dwDestAttribs
);

Parameter

hwnd

Ein Handle für das Fenster, das der Kopierhakenhandler als übergeordnetes Element für alle Benutzeroberflächenelemente verwenden sollte, die der Handler möglicherweise anzeigen muss. Wenn FOF_SILENT in wFunc angegeben ist, sollte die Methode diesen Parameter ignorieren.

wFunc

Der auszuführende Vorgang. Dieser Parameter kann einer der Werte sein, die unter dem wFunc-Member der SHFILEOPSTRUCT-Struktur aufgeführt sind.

wFlags

Die Flags, die den Vorgang steuern. Bei diesem Parameter kann es sich um einen oder mehrere der Werte handeln, die unter dem fFlags-Member der SHFILEOPSTRUCT-Struktur aufgeführt sind.

Für Druckerkopierhaken ist dieser Wert einer der folgenden Werte, die in Shellapi.h definiert sind.

Wert BESCHREIBUNG
PO_DELETE Ein Drucker wird gelöscht. pszSrcFile verweist auf den vollständigen Pfad zum angegebenen Drucker.
PO_RENAME Ein Drucker wird umbenannt. Der parameter pszSrcFile verweist auf den neuen Namen des Druckers. Der Parameter pszDestFile verweist auf den alten Namen.
PO_PORTCHANGE Wird nicht unterstützt. Nicht verwenden.
PO_REN_PORT Wird nicht unterstützt. Nicht verwenden.

pszSrcFile

Ein Zeiger auf eine Zeichenfolge, die den Namen des Quellordners enthält.

dwSrcAttribs

Die Attribute des Quellordners. Bei diesem Parameter kann es sich um eine Kombination beliebiger Dateiattributeflags (FILE_ATTRIBUTE_*) handelt, die in den Headerdateien definiert sind. Weitere Informationen finden Sie unter Dateiattributekonstanten.

pszDestFile

Ein Zeiger auf eine Zeichenfolge, die den Namen des Zielordners enthält.

dwDestAttribs

Die Attribute des Zielordners. Bei diesem Parameter kann es sich um eine Kombination beliebiger Dateiattributeflags (FILE_ATTRIBUTE_*) handelt, die in den Headerdateien definiert sind. Weitere Informationen finden Sie unter Dateiattributekonstanten.

Rückgabewert

Gibt einen ganzzahligen Wert zurück, der angibt, ob die Shell den Vorgang ausführen soll. Einer der folgenden:

Wert BESCHREIBUNG
IDYES Ermöglicht den Vorgang.
IDNO Verhindert den Vorgang für diesen Ordner, wird aber mit allen anderen Vorgängen fortgesetzt, die genehmigt wurden (z. B. ein Batchkopiervorgang).
IDCANCEL Verhindert den aktuellen Vorgang und bricht alle ausstehenden Vorgänge ab.

Hinweise

Die Shell ruft jeden Kopierhakenhandler auf, der für ein Ordner- oder Druckerobjekt registriert ist, bis alle Handler aufgerufen wurden oder bis einer von ihnen IDNO oder IDCANCEL zurückgibt.

Kopierhookhandler für Ordner werden unter dem folgenden Schlüssel registriert:

HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID-Wert}

Kopierhakenhandler für Drucker werden unter dem folgenden Schlüssel registriert.

HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

Wenn diese Methode aufgerufen wird, initialisiert die Shell die ICopyHookA-Schnittstelle direkt, ohne zuerst eine IShellExtInit-Schnittstelle zu verwenden.

Anforderungen

Anforderung Wert
Header shlobj.h