ICodecAPI::RegisterForEvent メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
RegisterForEvent メソッドは、コーデックからイベントを受信するようにアプリケーションを登録します。
構文
HRESULT RegisterForEvent(
[in] const GUID *Api,
[out] LONG_PTR userData
);
パラメーター
[in] Api
イベントを指定する GUID へのポインター。 イベントには次の 3 つのカテゴリがあります。
値 | 意味 |
---|---|
|
コーデックのプロパティが変更されると、コーデックによってアプリケーションに通知されます。 イベント データは、変更されたプロパティの GUID の一覧です。 |
|
コーデックは、指定されたプロパティが変更されたときにアプリケーションに通知します。 通常、コーデックは、限られたプロパティ セット (存在する場合) に対してこの種類の通知をサポートします。 |
|
実装依存。 |
[out] userData
呼び出し元定義データへのポインター。 アプリケーションは 、lParam1 イベント パラメーターでこのポインターを受け取ります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
実装されていません。 コーデックはイベント通知をサポートしていないか、 Api パラメーターで指定されたイベント GUID をサポートしていません。 |
注釈
アプリケーションは、エンコーダー コーデックがイベントを送信するたびに、 EC_CODECAPI_EVENT イベント通知を受け取ります。 イベントを取得するには、 IMediaEventEx インターフェイスを使用します。
イベントの lParam2 パラメーターは、 CodecAPIEventData 構造体へのポインターです。 イベント GUID に応じて、この構造体の後に追加のデータを追加できます。 このデータのサイズは、 dataLength メンバーによって指定されます。
GUID | イベント データ |
---|---|
CODECAPI_CHANGELISTS | GUID の配列。 各 GUID は、現在の値または有効な範囲が変更されたコーデック プロパティを指定します。 配列のサイズは dataLength です / sizeof(GUID) 。 |
codecapi.h で定義されているプロパティ GUID。 | [なし] : |
独自のイベント GUID。 | 実装依存。 |
コーデックが指定したイベントをサポートしていない場合、メソッドは E_NOTIMPLを返します。 コーデックは、他のイベントをサポートしている場合があります。
イベントの通知を無効にするには、 ICodecAPI::UnregisterForEvent を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | WINDOWS XP と SP2 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |