IMFByteStreamHandler::BeginCreateObject メソッド (mfidl.h)
バイト ストリームからメディア ソースを作成するための非同期要求を開始します。
構文
HRESULT BeginCreateObject(
[in] IMFByteStream *pByteStream,
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] IUnknown **ppIUnknownCancelCookie,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
パラメーター
[in] pByteStream
バイト ストリームの IMFByteStream インターフェイスへのポインター。
[in] pwszURL
バイト ストリームの元の URL を含む文字列。 このパラメーターは、NULL でもかまいません。
[in] dwFlags
0 個以上のフラグのビットごとの OR。 「ソース リゾルバー フラグ」を参照してください。
[in] pProps
プロパティ ストアの IPropertyStore インターフェイスへのポインター。 バイト ストリーム ハンドラーは、このプロパティ ストアを使用してオブジェクトを構成できます。 このパラメーターは、NULL でもかまいません。 詳細については、「 メディア ソースの構成」を参照してください。
[out] ppIUnknownCancelCookie
IUnknown ポインターまたは値 NULL を受け取ります。 値が NULL でない場合は、このポインターを IMFByteStreamHandler::CancelObjectCreation メソッドに渡すことで、非同期操作を取り消すことができます。 呼び出し元はインターフェイスを解放する必要があります。 このパラメーターは、NULL でもかまいません。
[in] pCallback
コールバック オブジェクトの IMFAsyncCallback インターフェイスへのポインター。 呼び出し元は、このインターフェイスを実装する必要があります。
[in] punkState
呼び出し元によって定義された状態オブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。 このオブジェクトを使用して、状態情報を保持できます。 コールバックが呼び出されると、オブジェクトが呼び出し元に返されます。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
バイト ストリームを解析できません。 |
注釈
dwFlags パラメーターには、MF_RESOLUTION_MEDIASOURCE フラグを含める必要があり、MF_RESOLUTION_BYTESTREAM フラグを含めてはいけません。
バイト ストリーム ハンドラーは、ストリームの解析と内容の検証を担当します。 ストリームが無効な場合、またはバイト ストリーム ハンドラーがストリームを解析できない場合、ハンドラーはエラー コードを返す必要があります。 バイト ストリームは、バイト ハンドラーが解析するように設計されているストリームの種類と一致することは保証されません。
pwszURL パラメーターが NULL でない場合、バイト ストリーム ハンドラーは解決プロセス中に URL を使用する可能性があります。 (たとえば、ファイル名拡張子 (存在する場合) を使用する場合があります)。また、バイト ストリームには MIME の種類を指定する MF_BYTESTREAM_CONTENT_TYPE 属性が含まれている場合があります。
操作が完了すると、バイト ストリーム ハンドラーは IMFAsyncCallback::Invoke メソッドを 呼び出します。 Invoke メソッドは、メディア ソースへのポインターを取得するために、IMFByteStreamHandler::EndCreateObject を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |
Library | Mfuuid.lib |