IPortableDeviceContent::CreateObjectWithPropertiesAndData 方法 (portabledeviceapi.h)

CreateObjectWithPropertiesAndData 方法會建立具有裝置上屬性和數據的物件。

語法

HRESULT CreateObjectWithPropertiesAndData(
            IPortableDeviceValues *pValues,
  [out]     IStream               **ppData,
  [in, out] DWORD                 *pdwOptimalWriteBufferSize,
  [in, out] LPWSTR                *ppszCookie
);

參數

pValues

要指派給對象的屬性 IPortableDeviceValues 集合。 如需物件的必要和選擇性屬性清單,請參閱 Objects 的需求

[out] ppData

接收應用程式用來將對象數據傳送至裝置之 IStream 介面指標的變數位址。 除非應用程式呼叫 ppData-Commit> 來傳送數據,否則不會在裝置上建立物件。 若要放棄進行中的數據傳輸,您可以呼叫 ppData ->Revert。 呼叫端必須在完成此介面時釋放此介面。 基礎對象同時擴充 IStreamIPortableDeviceDataStream

[in, out] pdwOptimalWriteBufferSize

選擇性 的 DWORD 指標,指定將數據寫入 ppData 時,應用程式要使用的最佳緩衝區大小。 應用程式可以指定 TRUE 來忽略此專案。

[in, out] ppszCookie

選擇性的唯一 null 終止字串標識符,可用來識別應用程式實作 IPortableDeviceEventCallback (實作) 建立要求。 當裝置完成建立物件時,它會將此標識碼傳送至回呼函式。 此標識碼可讓應用程式監視物件建立,與名為 CreateObjectWithPropertiesOnly 的線程不同。 SDK 會配置此記憶體,而呼叫端必須使用 CoTaskMemFree 釋放它。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_POINTER
至少有一個必要的自變數是 NULL 指標。

備註

某些物件只是屬性的集合,例如資料夾,只是其他物件的指標集合,而其他物件則是屬性和數據,例如包含所有屬性和實際音樂位的音訊檔案。 這個方法可用來建立需要屬性和數據的物件。 若要建立僅限屬性的物件,請呼叫 CreateObjectWithPropertiesOnly

由於在應用程式在擷取的 IStreamppData 上呼叫 Commit 之前,不會建立物件,因此在呼叫 Commit 之前,物件將不會有標識符。 認可 是同步的,因此當該方法成功傳回時,物件將會存在於裝置上。

呼叫 Commit 以建立對象之後,請在 ppData 上呼叫 QueryInterface for IPortableDeviceDataStream,然後呼叫 IPortableDeviceDataStream::GetObjectID 以取得新建立物件的標識符。

範例

如需如何使用此方法的範例,請參閱 將影像或音樂檔案傳輸到裝置

規格需求

需求
目標平台 Windows
標頭 portabledeviceapi.h
程式庫 PortableDeviceGUIDs.lib

另請參閱

IPortableDeviceContent 介面

IPortableDeviceDataStream 介面

將影像或音樂檔案傳送至裝置