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
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_POINTER
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

IPortableDeviceDataStream-Schnittstelle

Übertragen eines Bilds oder einer Musikdatei auf das Gerät