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 von der Anwendung zum Senden der Objektdaten an das Gerät verwendet wird. Das Objekt wird erst auf dem Gerät erstellt, wenn die Anwendung die Daten durch Aufrufen ppData-->Commitsendet. Um eine laufende Datenübertragung aufzugeben, können Sie ppData- aufrufen –>zurücksetzen. Der Aufrufer muss diese Schnittstelle freigeben, wenn sie damit fertig ist. Das zugrunde liegende Objekt erweitert sowohl IStream- als auch 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, mit Null beendete Zeichenfolgen-ID, die verwendet wird, um diese Erstellungsanforderung in der Implementierung von IPortableDeviceEventCallback- (falls implementiert) zu identifizieren. Wenn das Gerät das Erstellen 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, der CreateObjectWithPropertiesOnlyaufgerufen hat. Das SDK weist diesen Speicher zu, und der Aufrufer muss ihn mit CoTaskMemFree-freigeben.
Rückgabewert
Die Methode gibt ein HRESULT-zurück. Mögliche Werte sind die Werte in der folgenden Tabelle, sind jedoch nicht beschränkt.
Rückgabecode | Beschreibung |
---|---|
|
Die Methode war erfolgreich. |
|
Mindestens eines der erforderlichen Argumente war ein NULL- Zeiger. |
Bemerkungen
Einige Objekte sind nur eine Auflistung von Eigenschaften, z. B. ein Ordner, bei dem es sich nur um eine Sammlung von Zeigern auf andere Objekte handelt, 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. Rufen Sie zum Erstellen eines nur eigenschaftengeschützten Objekts CreateObjectWithPropertiesOnlyauf.
Da das Objekt erst erstellt wird, wenn die Anwendung Commit- für den abgerufenen IStream-ppData-aufruft, verfügt das Objekt erst über eine ID, wenn Commit- aufgerufen wird. Commit synchron ist. Wenn diese Methode erfolgreich zurückgegeben wird, ist das Objekt auf dem Gerät vorhanden.
Rufen Sie nach dem Aufrufen Commit- zum Erstellen des Objekts QueryInterface für 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 einer Bild- oder Musikdatei auf das Gerät.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Fenster |
Header- | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |
Siehe auch
IPortableDeviceContent Interface