IPortableDeviceContent::CreateObjectWithPropertiesAndData 方法 (portabledeviceapi.h)
CreateObjectWithPropertiesAndData 方法會建立具有裝置上屬性和數據的物件。
語法
HRESULT CreateObjectWithPropertiesAndData(
IPortableDeviceValues *pValues,
[out] IStream **ppData,
[in, out] DWORD *pdwOptimalWriteBufferSize,
[in, out] LPWSTR *ppszCookie
);
參數
pValues
要指派給對象的屬性集合 IPortableDeviceValues 集合。 如需物件的必要和選擇性屬性清單,請參閱 物件需求。
[out] ppData
接收應用程式用來將對象資料傳送至裝置之 IStream 介面指標的變數位址。 除非應用程式透過呼叫 ppData ->Commit來傳送資料,否則不會在裝置上建立物件。 若要放棄進行中的數據傳輸,您可以呼叫 ppData ->Revert。 呼叫端必須在使用此介面完成時釋放此介面。 基礎物件會擴充 IStream 和 IPortableDeviceDataStream。
[in, out] pdwOptimalWriteBufferSize
選擇性 DWORD 指標,指定將數據寫入至 ppData 時,應用程式要使用的最佳緩衝區大小。 應用程式可以指定要忽略此 TRUE。
[in, out] ppszCookie
選擇性的唯一 null 終止字串標識符,用來在應用程式的 IPortableDeviceEventCallback 實作中識別此建立要求(如果已實作)。 當裝置完成建立物件時,它會將此標識碼傳送至回呼函式。 此標識碼可讓應用程式監視物件建立與呼叫 CreateObjectWithPropertiesOnly不同的線程。 SDK 會配置此記憶體,而呼叫端必須使用 CoTaskMemFree來釋放它。
傳回值
方法會傳回 HRESULT。 可能的值包括但不限於下表中的值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
至少有一個必要的自變數是 NULL 指標 |
言論
有些物件只是屬性的集合,例如資料夾,它只是其他物件的指標集合,而其他物件則同時是屬性和數據,例如音訊檔案,其中包含所有屬性和實際的音樂位。 這個方法可用來建立需要屬性和數據的物件。 若要建立僅限屬性的物件,請呼叫 CreateObjectWithPropertiesOnly。
由於在所擷取 IStreamppData上呼叫 認可 之前,不會建立 物件,因此在呼叫認可 之前,物件將不會有標識符。 認可 是同步的,因此當該方法成功傳回時,物件就會存在於裝置上。
呼叫 Commit 以建立對象之後,請在 ppData 上呼叫 QueryInterface,以取得 IPortableDeviceDataStream,然後呼叫 IPortableDeviceDataStream::GetObjectID 以取得新建立物件的標識符。
例子
如需如何使用此方法的範例,請參閱 將影像或音樂檔案傳輸至裝置。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | portabledeviceapi.h |
連結庫 | PortableDeviceGUIDs.lib |