Freigeben über


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
S_OK
Die Methode war erfolgreich.
E_POINTER
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

IPortableDeviceDataStream Interface

Übertragen einer Bild- oder Musikdatei auf das Gerät