次の方法で共有


KsEnableEvent 関数 (ks.h)

KsEnableEvent 関数は、IOCTL_KS_ENABLE_EVENTを介して要求されたイベントを有効にします。 セットによって定義されたすべてのイベント識別子に応答します。 この関数は、PASSIVE_LEVELでのみ呼び出すことができます。

構文

KSDDKAPI NTSTATUS KsEnableEvent(
  [in]           PIRP              Irp,
  [in]           ULONG             EventSetsCount,
  [in]           const KSEVENT_SET *EventSet,
  [in, out]      PLIST_ENTRY       EventsList,
  [in, optional] KSEVENTS_LOCKTYPE EventsFlags,
  [in, optional] PVOID             EventsLock
);

パラメーター

[in] Irp

対応する要求を有効にする IRP を指定します。 IRP に関連付けられているファイル オブジェクトは、イベントを無効にするときに後で比較するために、 イベントと共に格納されます。

[in] EventSetsCount

渡されるイベント セット構造体の数を示します。

[in] EventSet

イベント セット情報の一覧へのポインターを指定します。

[in, out] EventsList

有効化イベントのKSEVENT_SET。イベント セットの AddHandler は NULL です。イベントを追加するKSEVENT_ENTRY項目の一覧の先頭を指す必要があります。 この関数は、少なくともイベントのサブセットに対して 1 つのリストを想定しています。

[in, optional] EventsFlags

イベント リスト への アクセスに使用する除外ロックの種類 (存在する場合) を指定するKSEVENTS_LOCKTYPEフラグを指定します。 フラグが設定されていない場合、ロックは行われません。 ハンドラーが既に指定されている場合、このパラメーターは無視されます。

[in, optional] EventsLock

KSEVENT_SET場合。有効になっているイベントを含むイベント セットの AddHandler は NULL です。これは、リストへのアクセスを同期するために使用されます。 EventsFlags でフラグが設定されていない場合、この値は NULL にすることができます

戻り値

KsEnableEvent 関数は、成功した場合はSTATUS_SUCCESSを返し、失敗した場合は有効になっているイベントに固有のエラーを返します。 関数は常にIO_STATUS_BLOCKを設定します。PIRP の情報フィールド。IRP 内の IoStatus 要素を 0 にします。 IO_STATUS_BLOCKは設定されません。[状態] フィールドは、IRP を完了しません。

注釈

ミニドライバーは KsEnableEvent を呼び出しません。 純粋な KS ドライバーまたはクラス ドライバーのみが、このルーチンを呼び出す必要があります。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib

こちらもご覧ください

KsDisableEvent