共用方式為


IMDSPDeviceControl::Seek 方法 (mswmdm.h)

Seek 方法會搜尋作為 PlayRecord 方法起點的位置。

語法

HRESULT Seek(
  [in] UINT fuMode,
  [in] int  nOffset
);

參數

[in] fuMode

正在執行的搜尋作業模式。 fuMode 參數必須是下列其中一種模式。

模式 Description
MDSP_SEEK_BOF 在檔案開頭之後搜尋 nOffset 單位的位置。
MDSP_SEEK_CUR 從目前位置搜尋 nOffset 單位的位置。
MDSP_SEEK_EOF 在檔案結尾之前搜尋 nOffset 單位的位置。

[in] nOffset

搜尋作業從 fuMode 所指定的原點移動開始位置的單位數目。 nOffset 的單位是由內容所定義。 它們可以是音樂的毫秒數、電子書的頁面等等。

nOffset 的正值表示正值會透過檔案向前搜尋。 負值表示透過檔案向後搜尋。 nOffsetfuMode 的任何組合,表示在檔案開頭之前或檔案結尾之後搜尋的位置無效,並導致方法傳回E_INVALIDARG。

傳回值

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

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
一或多個參數無效。
WMDM_E_NOTSUPPORTED
此裝置上未實作 Seek。
E_FAIL
發生未指定的錯誤。

備註

搜尋位置是藉由傳遞指向裝置儲存媒體上位置的 IWMDMStorage 介面,或已實作以支援串流音訊的 IWMDMOperation 介面來定義。 也可以傳遞IMDSPObjectInfo 介面,以描述指定介面所指向之物件內的一些點。

針對裝置播放,如果未在播放之前呼叫 Seek,則播放會從媒體裝置上第一個儲存媒體上的第一個音訊播放軌開始。

針對裝置錄製,如果未在 Record 之前呼叫 Seek,則記錄作業會失敗。 呼叫 Record 方法之後,後續呼叫 IMDSPObjectInfo::GetLastPlayPosition 方法會隨時報告播放長度總計,並等於 IMDSPObjectInfo::GetTotalLength 傳回的值。 錄製長度可以藉由從 Seek 呼叫傳回之後呼叫 IMDSPObjectInfo::SetPlayLength 方法來限制。

規格需求

需求
目標平台 Windows
標頭 mswmdm.h
程式庫 Mssachlp.lib

另請參閱

IMDSPDeviceControl 介面

IMDSPObjectInfo 介面

IWMDMOperation 介面

IWMDMStorage 介面