次の方法で共有


KsPinGenerateEvents 関数 (ks.h)

KsPinGenerateEvents 関数は、指定された型のイベントを生成 Pin's event list.

構文

void KsPinGenerateEvents(
  [in]           PKSPIN                     Pin,
  [in, optional] const GUID                 *EventSet,
  [in]           ULONG                      EventId,
  [in]           ULONG                      DataSize,
  [in, optional] PVOID                      Data,
  [in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
  [in, optional] PVOID                      CallBackContext
);

パラメーター

[in] Pin

イベントを生成する KSPIN 構造体へのポインター。

[in, optional] EventSet

生成するイベントを決定するために一致するイベント セット GUID へのポインター。 このパラメーターが NULL 場合、一致するイベントを決定するために設定 GUID は考慮されません。

[in] EventId

生成するイベントを決定するために照合するイベント ID。

[in] DataSize

データ イベントを生成するデータのサイズ (バイト単位)。

[in, optional] Data

データ バッファーへのポインター。 データ イベントを生成するかどうかを指定します。

[in, optional] CallBack

特定のイベントを生成する必要があるかどうかを判断するために呼び出される呼び出し元指定の関数へのポインター。 NULL 場合、イベントを生成する必要があるかどうかを判断するためのコールバック検証は実行されません (*EventSet *と EventId のみが使用されます)。 プロトタイプは次のとおりです。

BOOLEAN CallBack
(IN PVOID Context,
    IN PKSEVENT_ENTRY EventEntry);

KsPinGenerateEvents は、コールバックの Context パラメーターとして変更せずに、CallBackContext パラメーターを渡します。 EventEntry 生成する必要がある場合、コールバック関数は TRUE 返します。 それ以外の場合は、FALSE 返します。

[in, optional] CallBackContext

CallBack コールバック関数に渡される呼び出し元が指定したコンテキストへのポインター。

戻り値

何一つ

備考

この関数を呼び出すとき、ミニドライバーは、ロックされたページ不可能なデータ セグメント データ と CallBackContext する必要があります。 CallBack は、DISPATCH_LEVELで行われます。 コールバック関数はロックされたセグメント内にあり、IRQL = DISPATCH_LEVELで実行できるように準備する必要があります。 DX8 には、にのみ追加の問題があることに注意してください。EventSet はロックされたデータ セグメントに存在する必要があります。

これは、必要な型キャスト 実行する KsGenerateEventsへのインライン関数呼び出しです。 ミニドライバーは通常、KsGenerateEventsを直接呼び出す代わりに、このバージョンを呼び出す必要があります。

次の 3 つの条件が保持されている場合、イベントが生成されます。

  • *Pin の *イベント リストにイベントが存在し、*EventId *がイベントの ID と一致します。

  • EventSet は、イベントのセット GUID と一致するか、NULL します。

  • *CallBack *は NULL するか、一致を承認します。

詳細については、「AVStream および KS イベントでのイベント処理の」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー ks.h (Ks.h を含む)
ライブラリ Ks.lib
IRQL <=DISPATCH_LEVEL (解説を参照)

関連項目

KSEVENT_ENTRY

KsAddEvent する

KsFilterGenerateEvents

KsGenerateEvents する