Share via


ITransferDestination::CreateItem-Methode (shobjidl_core.h)

Erstellt die angegebene Datei.

Syntax

HRESULT CreateItem(
  [in]  LPCWSTR               pszName,
  [in]  DWORD                 dwAttributes,
  [in]  ULONGLONG             ullSize,
  [in]  TRANSFER_SOURCE_FLAGS flags,
  [out] REFIID                riidItem,
  [out] void                  **ppvItem,
  [in]  REFIID                riidResources,
  [out] void                  **ppvResources
);

Parameter

[in] pszName

Typ: LPCWSTR

Ein Zeiger auf einen Puffer mit NULL-Beendigung, der den Namen der Datei relativ zum aktuellen Verzeichnis enthält.

[in] dwAttributes

Art: DWORD

Mindestens eines der in der BY_HANDLE_FILE_INFORMATION-Struktur definierten FILE_ATTRIBUTE-Flags. Der wichtigste Wert ist FILE_ATTRIBUTE_DIRECTORY, der angibt, dass ein Ordner erstellt werden soll.

[in] ullSize

Typ: ULONGLONG

Die Größe der zu erstellenden Datei in Bytes. Dieser Wert kann 0 sein, wenn die Größe unbekannt ist.

[in] flags

Typ: TRANSFER_SOURCE_FLAGS

Flags, die den Dateivorgang steuern. Mindestens eines der TRANSFER_SOURCE_FLAGS-Flags .

[out] riidItem

Typ: REFIID

Ein Verweis auf die IID der Schnittstelle, die über ppvItem abgerufen werden soll, in der Regel IID_IShellItem oder eine andere Schnittstelle, die von ihr abgeleitet wird.

[out] ppvItem

Typ: void**

Wenn diese Methode zurückgibt, enthält den in riidItem angeforderten Schnittstellenzeiger. Dies ist in der Regel IShellItem oder eine abgeleitete Schnittstelle.

[in] riidResources

Typ: REFIID

Ein Verweis auf die IID der Schnittstelle, die über ppvResources abgerufen werden soll, in der Regel IID_IShellItemResources oder einer anderen Schnittstelle, die von ihr abgeleitet wird.

[out] ppvResources

Typ: void**

Wenn diese Methode zurückgibt, enthält den in riidResources angeforderten Schnittstellenzeiger. Dies ist in der Regel IShellItemResources oder eine abgeleitete Schnittstelle.

Rückgabewert

Typ: HRESULT

Gibt einen Erfolgscode zurück, wenn erfolgreich, oder andernfalls einen Fehlerwert. Zu den Erfolgscodes gehören:

  • S_OK: Die Verschiebung war erfolgreich, und ppvItem und ppvResources verweisen beide auf gültige Objekte.
  • COPYENGINE_S_USER_IGNORED: Das Zielelement ist bereits vorhanden und wurde nicht überschrieben. Die Werte, auf die ppvItem und ppvResources verweisen, sind NULL. Wenn der Aufrufer eine Verschiebung als Kopier- und Löschvorgang implementiert, sollte der Aufrufer die Verschiebung abschließen, indem er das Quellelement löscht.

Hinweise

Diese Methode kann verwendet werden, um ein Shellelementobjekt zu erstellen, das den Zielordner für einen Kopier- oder Verschiebungsvorgang darstellt. Die ITransferSource-Schnittstelle stellt Methoden bereit, um Objekte von IShellItem tatsächlich an das Ziel zu verschieben.

Rufen Sie ITransferDestination::Advise auf, bevor Sie andere ITransferDestination-Methoden aufrufen, damit der Handler möglicherweise auftretende Fehler zurückrufen kann. Wenn nicht festgelegt, sollte der Handler dies als Hinweis betrachten, dass kein Feedback verfügbar ist, und den "Standard"-Vorgang ausführen.

Es wird empfohlen, das in Objbase.h definierte makro IID_PPV_ARGS zu verwenden, um die Parameter riidResources und ppvResources zu packen . Dieses Makro stellt die richtige IID basierend auf der Schnittstelle bereit, auf die der Wert in ppvResources verweist, wodurch die Möglichkeit eines Codierungsfehlers ausgeschlossen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (shobjidl.h einschließen)