IWMDMDeviceControl::Seek メソッド (mswmdm.h)
Seek メソッドは、Play メソッドまたは Record メソッドの開始点として使用される位置をシークします。
構文
HRESULT Seek(
[in] UINT fuMode,
[in] int nOffset
);
パラメーター
[in] fuMode
実行されているシーク操作のモード。 fuMode パラメーターは、次のいずれかのモードである必要があります。
モード | 説明 |
---|---|
WMDM_SEEK_BEGIN | ファイルの先頭の後の nOffset 単位の位置をシークします。 |
WMDM_SEEK_CURRENT | 現在の位置から nOffset 単位の位置をシークします。 |
WMDM_SEEK_END | ファイルの末尾の前に nOffset 単位の位置をシークします。 |
WMDM_SEEK_REMOTECONTROL | リムーバブル コントロールをシークします。 |
WMDM_SEEK_STREAMINGAUDIO | ストリーミング オーディオをシークします。 |
[in] nOffset
シーク操作によって開始位置が fuMode で指定された原点から離れる単位数。 nOffset の単位は、コンテンツによって定義されます。 音楽の場合はミリ秒、電子書籍の場合はページ数などです。
nOffset の正の値は、ファイルを前方にシークすることを示します。 負の値は、ファイルを後方にシークすることを示します。 nOffset と fuMode の組み合わせは、ファイルの先頭の前またはファイルの末尾の後の位置をシークすることを示し、メソッドがE_INVALIDARGを返します。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
1 つ以上のパラメーターが無効です。 |
|
Seek はこのデバイスに実装されていません。 |
|
未指定のエラーが発生しました。 |
解説
シーク位置は、デバイスのストレージ メディア上の場所を指す IWMDMStorage インターフェイス、またはストリーミング オーディオをサポートするために実装された IWMDMOperation インターフェイスを渡すことによって定義されます。 IWMDMObjectInfo インターフェイスを渡して、指定したインターフェイスが指すオブジェクト内のポイントを記述することもできます。
デバイスの再生では、再生前に Seek が呼び出されない場合は、メディア デバイス上の最初のストレージ メディアの最初のオーディオ トラックから再生が開始されます。
デバイスの記録の場合、Record の前に Seek が呼び出されない場合、レコード操作は失敗します。 Seek 呼び出しから戻った後に IWMDMObjectInfo::SetPlayLength メソッドを呼び出すことで、記録の長さを制限できます。
必要条件
対象プラットフォーム | Windows |
ヘッダー | mswmdm.h |
Library | Mssachlp.lib |