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
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) |