IWMDMStorageControl2::Insert2 方法 (mswmdm.h)
Insert2 方法會將內容放入記憶體旁/旁邊。 這個方法允許應用程式指定新的目的地名稱,並提供自定義 COM 物件的指標,藉此擴充 IWMDMStorageControl::Insert 。
語法
HRESULT Insert2(
[in] UINT fuMode,
[in] LPWSTR pwszFileSource,
[in] LPWSTR pwszFileDest,
[in] IWMDMOperation *pOperation,
[in] IWMDMProgress *pProgress,
[in] IUnknown *pUnknown,
[out] IWMDMStorage **ppNewObject
);
參數
[in] fuMode
用於 Insert2 作業的處理模式。 下表列出可在 fuMode 參數中指定的處理模式。 您必須只指定前兩種模式的其中一個、只指定其中一個 STORAGECONTROL 模式,以及其中一個 CONTENT 模式。 如果同時指定WMDM_MODE_BLOCK和WMDM_MODE_THREAD,則會使用區塊模式。
組合 | 模式 | Description |
---|---|---|
完全是下列其中一項: | WMDM_MODE_BLOCK | 作業是使用區塊模式處理來執行。 呼叫在作業完成之前不會傳回。 |
- | WMDM_MODE_THREAD | 作業是使用線程模式處理來執行。 呼叫會立即傳回,且作業會在背景線程中執行。 |
選擇性 | WMDM_MODE_QUERY | 系統會執行測試來判斷插入作業是否成功,但不會執行插入。 |
完全是下列其中一項: | WMDM_STORAGECONTROL_INSERTBEFORE | 物件會插入目標物件之前。 |
- | WMDM_STORAGECONTROL_INSERTAFTER | 物件會插入目標對象之後。 |
- | WMDM_STORAGECONTROL_INSERTINTO | 物件會插入目前的物件中。 只有在目前對像是資料夾時,才能運作。 |
選擇性 | WMDM_FILE_CREATE_OVERWRITE | 物件將會取代目標物件。 |
完全是下列其中一項: | WMDM_CONTENT_FILE | 正在插入的內容是檔案。 |
- | WMDM_CONTENT_FOLDER | 正在插入的內容是資料夾。 這不會傳輸資料夾的內容。 |
選擇性 | WMDM_CONTENT_OPERATIONINTERFACE | 正在插入的內容是作業介面。 內容的數據應該寫入應用程式實作 的IWMDMOperation 介面。 |
選擇性 | WMDM_MODE_PROGRESS | 進度通知應透過 pProgress 參數傳送。 |
選擇性的其中一項: | WMDM_MODE_TRANSFER_PROTECTED | 插入處於受保護的傳輸模式。 |
- | WMDM_MODE_TRANSFER_UNPROTECTED | 插入處於未受保護的傳輸模式。 |
[in] pwszFileSource
寬字元、 以 Null 結尾的字串指標,指出要傳送至裝置之物件的完整名稱和路徑。 如果在 fuMode 中指定WMDM_CONTENT_OPERATIONINTERFACE,此參數必須是 NULL。
[in] pwszFileDest
裝置上的選擇性檔名。 如果未指定,而且應用程式會將IWMDMOperation指標傳遞給 pOperation,Windows Media 裝置管理員 會呼叫 IWMDMOperation::GetObjectName 來要求目的地名稱。 如果未指定,且應用程式未使用 pOperation,則會使用源檔名稱和擴展名,而不需路徑) (。
[in] pOperation
IWMDMOperation 介面的選擇性指標,以控制內容傳送至媒體裝置。 如果指定, fuMode 必須包含WMDM_CONTENT_OPERATIONINTERFACE旗標。 如果在 fuMode 中指定了 WMDM_CONTENT_FILE 或 WMDM_CONTENT_FOLDER,此參數必須是 NULL。
[in] pProgress
IWMDMProgress 介面的選擇性指標,以將動作進度回報回應用程式。 如果指定, fuMode 應該包含WMDM_MODE_PROGRESS。
[in] pUnknown
要傳遞至安全內容提供者之任何自定義 COM 物件的選擇性 IUnknown 指標。 如果應用程式有足夠的安全內容提供者相關信息,這可讓您將自定義資訊傳遞至安全內容提供者。
[out] ppNewObject
將包含新內容的 IWMDMStorage 介面指標。 呼叫端必須在完成時釋放此介面。
傳回值
方法會傳回 HRESULT。 Windows Media 裝置管理員 中的所有介面方法都可以傳回下列任何錯誤碼類別:
- 標準 COM 錯誤碼
- 轉換成 HRESULT 值的 Windows 錯誤碼
- Windows Media 裝置管理員 錯誤碼
備註
如果裝置支援 IWMDMStorageControl3::Insert3,這是要使用的慣用方法。
如果指定WMDM_MODE_THREAD旗標,您應該呼叫 IWMDMProgress2::End2 或 IWMDMProgress3::End3 來取得完成狀態。 這些方法可確保作業已完成,也會傳回具有成功或失敗資訊的 HRESULT。
如果應用程式使用 WMDM_MODE_THREAD 並傳遞非 NullpProgress 參數,則應用程式必須確保 pProgress 所屬的物件在插入作業完成之前不會終結,因為 Windows Media 裝置管理員 會將進度通知傳送給這個物件。 只有在收到 End 通知之後,才能終結此物件。 若無法這麼做,將會導致存取違規。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |