Freigeben über


IMAPISupport::CopyFolder

Gilt für: Outlook 2013 | Outlook 2016

Kopiert oder verschiebt einen Ordner aus dem aktuellen übergeordneten Ordner in einen anderen übergeordneten Ordner.

HRESULT CopyFolder(
  LPCIID lpSrcInterface,
  LPVOID lpSrcFolder,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  LPVOID lpDestFolder,
  LPSTR lpszNewFolderName,
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

Parameter

lpSrcInterface

[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID), der die Schnittstelle darstellt, die für den Zugriff auf den übergeordneten Ordner des zu kopierenden oder zu verschiebenden Ordners verwendet werden soll.

lpSrcFolder

[in] Ein Zeiger auf den übergeordneten Ordner des Ordners, der kopiert oder verschoben werden soll.

cbEntryID

[in] Die Byteanzahl im Eintragsbezeichner, auf die lpEntryID verweist.

lpEntryID

[in] Ein Zeiger auf den Eintragsbezeichner des Ordners, der kopiert oder verschoben werden soll.

lpInterface

[in] Reserviert; muss NULL sein.

lpDestFolder

[in] Ein Zeiger auf den Ordner, der den zu kopierenden oder zu verschiebenden Ordner empfangen soll.

lpszNewFolderName

[in] Ein Zeiger auf den Namen des kopierten oder verschobenen Ordners; Andernfalls NULL, was angibt, dass der kopierte oder verschobene Ordner denselben Namen wie der Quellordner haben soll (der Ordner, auf den lpEntryID verweist).

ulUIParam

[in] Ein Handle des Fensters für das Dialogfeld "Statusanzeige" und zugehörige Fenster. Der ulUIParam-Parameter wird ignoriert, es sei denn, das FOLDER_DIALOG-Flag ist im ulFlags-Parameter festgelegt.

lpProgress

[in] Ein Zeiger auf ein Statusobjekt, das eine Statusanzeige anzeigt. Wenn NULL in lpProgress übergeben wird, zeigt der Nachrichtenspeicheranbieter mithilfe der MAPI-Statusobjektimplementierung eine Statusanzeige an. Der lpProgress-Parameter wird ignoriert, es sei denn, das FOLDER_DIALOG-Flag ist in ulFlags festgelegt.

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie der Kopier- oder Verschiebungsvorgang ausgeführt wird. Die folgenden Flags können festgelegt werden:

COPY_SUBFOLDERS

Alle Unterordner des Ordners sollten kopiert oder verschoben werden. Wenn COPY_SUBFOLDERS nicht für einen Kopiervorgang festgelegt ist, wird nur der durch lpEntryID identifizierte Ordner kopiert. Bei einem Verschiebungsvorgang ist das COPY_SUBFOLDERS Verhalten die Standardeinstellung, unabhängig davon, ob das Flag festgelegt ist.

FOLDER_DIALOG

Fordert die Anzeige einer Statusanzeige an.

FOLDER_MOVE

Der Ordner sollte verschoben und nicht kopiert werden. Wenn FOLDER_MOVE nicht festgelegt ist, wird der Ordner kopiert.

MAPI_UNICODE

Der Name des Ordners weist das Unicode-Format auf. Wenn das MAPI_UNICODE-Flag nicht festgelegt ist, weist der Name des Ordners das ANSI-Format auf.

Rückgabewert

S_OK

Der Ordner wurde erfolgreich kopiert oder verschoben.

MAPI_E_COLLISION

Der Name des Ordners, der verschoben oder kopiert wird, entspricht dem Namen eines Unterordners im Zielordner. Der Nachrichtenspeicheranbieter erfordert, dass Ordnernamen eindeutig sind. Der Vorgang wird beendet, ohne abgeschlossen zu sein.

MAPI_W_PARTIAL_COMPLETION

Der Aufruf war erfolgreich, aber nicht alle Einträge wurden erfolgreich kopiert. Wenn diese Warnung zurückgegeben wird, sollte der Aufruf als erfolgreich behandelt werden. Verwenden Sie zum Testen auf diese Warnung das Makro HR_FAILED . Weitere Informationen finden Sie unter Verwenden von Makros für die Fehlerbehandlung.

Hinweise

Die IMAPISupport::CopyFolder-Methode wird für Nachrichtenspeicheranbieter-Unterstützungsobjekte implementiert. Nachrichtenspeicheranbieter können IMAPISupport::CopyFolder in ihrer Implementierung von IMAPIFolder::CopyFolder aufrufen, um einen einzelnen Ordner aus einem übergeordneten Ordner in einen anderen zu kopieren oder zu verschieben.

IMAPISupport::CopyFolder fügt den kopierten oder verschobenen Ordner als Unterordner des Zielordners hinzu.

Hinweise für Aufrufer

IMAPISupport::CopyFolder ermöglicht das gleichzeitige Umbenennen und Verschieben von Ordnern sowie das Kopieren oder Verschieben von Unterordnern des betroffenen Ordners. Um alle im kopierten oder verschobenen Ordner geschachtelten Unterordner zu kopieren oder zu verschieben, übergeben Sie das flag COPY_SUBFOLDERS in ulFlags.

Erwarten Sie die folgenden Rückgabewerte unter den folgenden Bedingungen:

Bedingung R�ckgabewert
CopyFolder hat den Ordner und alle Unterordner erfolgreich kopiert oder verschoben, falls zutreffend. S_OK
CopyFolder konnte nicht erfolgreich alle Ordner kopieren oder verschieben. MAPI_W_PARTIAL_COMPLETION
CopyFolder konnte nicht abgeschlossen werden. Beliebiger Fehlerwert

Wenn CopyFolder einen Fehlerwert zurückgibt, gehen Sie nicht davon aus, dass keine Arbeit ausgeführt wurde. Mindestens ein Ordner hätte kopiert oder verschoben werden können, bevor copyFolder den Fehler festgestellt hat.

Siehe auch

IMAPISupport: IUnknown