ETWENABLECALLBACK コールバック関数 (wdm.h)
EtwEnableCallback 関数は、有効または無効の通知を受信するために使用される省略可能なドライバー指定のコールバック関数です。
構文
ETWENABLECALLBACK Etwenablecallback;
void Etwenablecallback(
[in] LPCGUID SourceId,
ULONG ControlCode,
[in] UCHAR Level,
[in] ULONGLONG MatchAnyKeyword,
[in] ULONGLONG MatchAllKeyword,
[in, optional] PEVENT_FILTER_DESCRIPTOR FilterData,
[in, out, optional] PVOID CallbackContext
)
{...}
パラメーター
[in] SourceId
プロバイダーを有効にしたセッションを識別する GUID。
ControlCode
[in] Level
イベントが有効になっているレベル。 このパラメーターは、プロバイダーが書き込むイベントの詳細度を指定するプロバイダー定義の値です。 この値がイベントで定義されているレベル値以下の場合、プロバイダーはイベントを書き込む必要があります。
この値は、EnableTraceEx 関数の Level パラメーターまたは EnableTrace 関数の EnableLevelパラメーターで渡されます。
[in] MatchAnyKeyword
プロバイダーが書き込むイベントのカテゴリを決定するために使用するキーワードのビットマスク。
この値は、EnableTraceEx 関数の MatchAnyKeyword パラメーターまたは EnableTrace 関数の EnableFlagパラメーターで渡されます。 MatchAnyKeyword は 64 ビット値であり、基本的には 32 ビット EnableFlag の拡張バージョンです。
[in] MatchAllKeyword
このビットマスクは、プロバイダーが書き込むイベントのカテゴリも制限します。
この値は、EnableTraceEx 関数の MatchAllKeywords パラメーターで渡されます。
[in, optional] FilterData
プロバイダー定義データ。 このパラメーターは省略可能です。 プロバイダーは、データのレイアウトとその目的を決定します。 たとえば、プロバイダーはこのデータを使用して、書き込むイベントをさらにフィルター処理したり、イベントを書き込む前にいくつかの計算を実行するために使用したりできます。 詳細については、「 イベント フィルター記述子」を参照してください。
[in, out, optional] CallbackContext
プロバイダーが EtwRegister を呼び出して自身を登録するときに定義されるコールバック関数のコンテキスト。 このパラメーターは省略できます。
戻り値
なし
解説
EtwEnableCallback 関数へのポインターを指定するには、 EtwRegister 関数を使用します。
高度なフィルター機能をプロバイダーに提供するには、コールバック関数の FilterData パラメーターを使用します。 EtwEnableCallback 関数は、enable-status 関数の呼び出し (EtwEventEnabled および EtwProviderEnabled) を置き換えません。 しかし, それは彼らのサプリメントとして機能します。. ただし、レベルとキーワードが現在有効になっていない限り、コールバック関数が提供する FilterData に関係なく、イベントは書き込まれません。
EtwEnableCallback の呼び出し元は、システム スレッドのコンテキストで IRQL = PASSIVE_LEVELで実行されている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h を含む) |
IRQL | PASSIVE_LEVEL |