EtwWriteString 関数 (wdm.h)
EventWriteString 関数は、高度なデータが必要ない場合に使用できるトレース関数です。 この関数は、debug print ステートメントに似ています。
構文
NTSTATUS EtwWriteString(
[in] REGHANDLE RegHandle,
[in] UCHAR Level,
[in] ULONGLONG Keyword,
[in, optional] LPCGUID ActivityId,
[in] PCWSTR String
);
パラメーター
[in] RegHandle
イベント プロバイダー登録ハンドルへのポインター。イベント プロバイダーの登録が成功した場合に EtwRegister 関数によって返されます。
[in] Level
イベントがアクティブなレベル。
[in] Keyword
イベントのキーワード (keyword)。 キーワード (keyword)は、イベントまたはエラーのカテゴリに関する一般的なステートメントを作成するビットマスクです。 キーワード (keyword)はビットマスクであるため、1 つのイベントに複数のキーワード (keyword)を適用できます。 キーワードとビット位置を定義することも、Windows 標準キーワードを使用することも、独自のキーワードと Windows キーワードを組み合わせて使用することもできます。
[in, optional] ActivityId
イベントに関連付けられているアクティビティを示す識別子。 ActivityId は、関連するイベントをグループ化する方法を提供し、エンドツーエンドのトレースで使用されます。 この識別子は省略可能であり、 NULL にすることができます。
[in] String
null で終わる文字列 (WCHAR)。
戻り値
イベントが正常に発行された場合、関数はSTATUS_SUCCESSを返します。
注釈
EventWriteString 関数によって生成される文字列はローカライズできないため、この関数は実稼働コードでの使用には推奨されません。 この関数を使用して、可視性の高いイベントをログに記録しないでください。
任意の IRQL で EtwWriteString を呼び出すことができます。 ただし、IRQL がAPC_LEVELより大きい場合、EtwWrite、EtwWriteEx、EtwWriteString、および EtwWriteTransfer 関数に渡されるデータはページングできません。 つまり、APC_LEVELより大きい IRQL で実行されているカーネル モード ルーチンは、ページング可能なメモリにアクセスできません。 EtwWrite、EtwWriteEx、EtwWriteString、および EtwWriteTransfer 関数に渡されるデータは、IRQL とは関係なく、システム空間メモリ内に存在する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | 任意のレベル (「コメント」セクションを参照)。 |