IPortableDeviceContent::CreateObjectWithPropertiesAndData-Methode (portabledeviceapi.h)
Die CreateObjectWithPropertiesAndData-Methode erstellt ein Objekt mit Eigenschaften und Daten auf dem Gerät.
Syntax
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
Parameter
pValues
Eine IPortableDeviceValues-Auflistung von Eigenschaften, die dem -Objekt zugewiesen werden sollen. Eine Liste der erforderlichen und optionalen Eigenschaften für ein Objekt finden Sie unter Anforderungen für Objekte.
[out] ppData
Adresse einer Variablen, die einen Zeiger auf eine IStream-Schnittstelle empfängt, die die Anwendung zum Senden der Objektdaten an das Gerät verwendet. Das Objekt wird erst auf dem Gerät erstellt, wenn die Anwendung die Daten durch Aufrufen von ppData-Commit> sendet. Um eine laufende Datenübertragung aufzugeben, können Sie ppData ->Revert aufrufen. Der Aufrufer muss diese Schnittstelle freigeben, wenn sie damit fertig ist. Das zugrunde liegende Objekt erweitert IStream und IPortableDeviceDataStream.
[in, out] pdwOptimalWriteBufferSize
Ein optionaler DWORD-Zeiger , der die optimale Puffergröße für die Anwendung angibt, die beim Schreiben der Daten in ppData verwendet werden soll. Die Anwendung kann TRUE angeben, um dies zu ignorieren.
[in, out] ppszCookie
Eine optionale eindeutige, NULL-beendete Zeichenfolgen-ID, die verwendet wird, um diese Erstellungsanforderung in der Implementierung von IPortableDeviceEventCallback der Anwendung zu identifizieren (falls implementiert). Wenn das Gerät die Erstellung des Objekts abgeschlossen hat, sendet es diesen Bezeichner an die Rückruffunktion. Dieser Bezeichner ermöglicht einer Anwendung das Überwachen der Objekterstellung in einem anderen Thread als dem Thread, der CreateObjectWithPropertiesOnly aufgerufen hat. Das SDK weist diesen Arbeitsspeicher zu, und der Aufrufer muss ihn mithilfe von CoTaskMemFree freigeben.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Mindestens eines der erforderlichen Argumente war ein NULL-Zeiger . |
Hinweise
Einige Objekte sind nur eine Auflistung von Eigenschaften – z. B. ein Ordner, der nur eine Sammlung von Zeigern auf andere Objekte ist – während andere Objekte sowohl Eigenschaften als auch Daten sind, z. B. eine Audiodatei, die alle Eigenschaften und die tatsächlichen Musikbits enthält. Diese Methode wird verwendet, um ein Objekt zu erstellen, das sowohl Eigenschaften als auch Daten erfordert. Um ein objekt only properties zu erstellen, rufen Sie CreateObjectWithPropertiesOnly auf.
Da das Objekt erst erstellt wird, wenn die Anwendung Commit für den abgerufenen IStreamppData aufruft, verfügt das Objekt erst dann über eine ID, wenn Commit aufgerufen wird. Commit ist synchron, sodass das Objekt auf dem Gerät vorhanden ist, wenn diese Methode erfolgreich zurückgegeben wird.
Nachdem Sie Commit aufgerufen haben, um das Objekt zu erstellen, rufen Sie QueryInterface in ppData für IPortableDeviceDataStream auf, und rufen Sie dann IPortableDeviceDataStream::GetObjectID auf, um die ID des neu erstellten Objekts abzurufen.
Beispiele
Ein Beispiel für die Verwendung dieser Methode finden Sie unter Übertragen eines Bilds oder einer Musikdatei auf das Gerät.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | portabledeviceapi.h |
Bibliothek | PortableDeviceGUIDs.lib |
Weitere Informationen
IPortableDeviceContent-Schnittstelle
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für