StorPortEtwLogByteStream 、汎用バイト ストリーム パラメーターを使用して、イベント トレーシング for Windows (ETW) イベントを指定されたチャネルに記録します。
構文
ULONG StorPortEtwLogByteStream(
[in] PVOID HwDeviceExtension,
[in, optional] PSTOR_ADDRESS Address,
[in] STORPORT_ETW_EVENT_CHANNEL EventChannel,
[in] ULONG EventId,
[in] PWSTR EventDescription,
[in] ULONGLONG EventKeywords,
[in] STORPORT_ETW_LEVEL EventLevel,
[in] STORPORT_ETW_EVENT_OPCODE EventOpcode,
[in] USHORT DataLength,
[in] PUCHAR Data
);
パラメーター
[in] HwDeviceExtension
ミニポートのデバイス拡張機能へのポインター。
[in, optional] Address
ストレージ・ユニット・デバイス・アドレス。 このパラメーターは、アダプター デバイスの場合は NULL です。
[in] EventChannel
イベントをログに記録する ETW チャネルを識別する STORPORT_ETW_EVENT_CHANNEL 値。
[in] EventId
イベントを一意に識別するミニポート定義イベント ID。
[in] EventDescription
イベントを説明する短い文字列。 EventDescription は必須であり、NULL ターミネータを含めず、<= STORPORT_ETW_MAX_DESCRIPTION_LENGTH文字にする必要があります。
[in] EventKeywords
イベント分類のキーワード フラグ。 キーワードが必要ない場合は 0 に設定します。 キーワードは、次のビットごとの OR の組み合わせです。
価値 | 意味 |
---|---|
STORPORT_ETW_EVENT_KEYWORD_IO | イベントは、デバイス IO 操作に関連します。 |
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE | イベントはパフォーマンスに関連します。 |
STORPORT_ETW_EVENT_KEYWORD_POWER | イベントはデバイスの電源に関連しています。 |
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION | イベントは、デバイスの列挙に関連します。 |
[in] EventLevel
イベント レベル。 この値は、イベントの重要度または重大度を示すことができます。 これは次のいずれかの値です。
価値 | 意味 |
---|---|
StorportEtwLevelLogAlways | イベントを無条件でログに記録します。 イベントは、設定されたフィルターに関係なくログに記録されます。 |
StorportEtwLevelCritical | 重大レベルのイベント。 |
StorportEtwLevelError | エラー レベル イベント。 |
StorportEtwLevelWarning | 警告レベルのイベント。 |
StorportEtwLevelInformational | 情報イベント。 |
StorportEtwLevelVerbose | 詳細なイベント情報が提供されます。 |
[in] EventOpcode
イベントの運用上の性質。 これは次のいずれかの値です。
価値 | 意味 |
---|---|
StorportEtwEventOpcodeInfo | 一般的な情報イベント。 |
StorportEtwEventOpcodeStart | デバイスまたはユニットが開始されました。 |
StorportEtwEventOpcodeStop | デバイスまたはユニットが停止していました。 このイベントは、ペアになっていない最後の開始イベントに対応します。 |
StorportEtwEventOpcodeDC_Start | データ コレクション開始イベント。 これらはランダウン イベントの種類です。 |
StorportEtwEventOpcodeDC_Stop | データ コレクションの停止イベント。 これらはランダウン イベントの種類です。 |
StorportEtwEventOpcodeExtension | 拡張イベント。 |
StorportEtwEventOpcodeReply | 応答イベント。 |
StorportEtwEventOpcodeResume | 一時停止後にデバイスまたはユニットが再開されました。 |
StorportEtwEventOpcodeSuspend | デバイスまたはユニットは、別の操作の完了待ちで中断されます。 |
StorportEtwEventOpcodeReceive | アクティビティの転送は、別のコンポーネントから受信されます。 |
[in] DataLength
Data が指すバイト ストリームの長さ (バイト単位) (1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH)。
[in] Data
ミニポートのカスタム ETW バイト ストリームへのポインター。
戻り値
StorPortEtwLogByteStream は、次のいずれかの状態コードを返します。
リターン コード | 形容 |
---|---|
STOR_STATUS_SUCCESS | イベントは、指定された ETW チャネルに正常に記録されました。 |
STOR_STATUS_INVALID_PARAMETER | パラメーターが無効です。 たとえば、HwDeviceExtension 、EventDescription、Data が NULL の、DataLength が最大名前の長さを超える、EventChannel 無効な値です。 |
STOR_STATUS_UNSUCCESSFUL | その他の内部上の理由で返されます。 |
備考
ミニポートは、汎用バイト ストリーム パラメーター 特定のチャネルに ETW イベントを記録する StorPortEtwLogByteStream を呼び出すことができます。
StorPortEtwLogByteStream は、ミニポートが StorPortEtwEvent2、StorPortEtwEvent4、または StorPortEtwEvent8許可されているコンテキストを超えてログに記録する必要がある場合に便利です。 たとえば、ミニポートは、内部データ構造をバイト ストリームとしてログに記録し、問題が報告されたときに診断目的で使用できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小サーバー | Windows Server 2022 |
ヘッダー | storport.h |
関連項目
StorPortEtwEvent2の
StorPortEtwEvent4をする
StorPortEtwEvent8の
StorPortEtwLogErrorをする