storPortEtwLogByteStream 函式 (storport.h)

StorPortEtwLogByteStream 會將 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

STORPORT_ETW_EVENT_CHANNEL值,識別要記錄事件的 ETW 通道。

[in] EventId

可唯一識別事件的迷你埠定義事件標識碼。

[in] EventDescription

描述事件的簡短字串。 EventDescription 是必要的,而且必須是 <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH 個字元,不包含 NULL 終止符。

[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 會傳回下列其中一個狀態代碼:

傳回碼 Description
STOR_STATUS_SUCCESS 事件已成功記錄到指定的 ETW 通道。
STOR_STATUS_INVALID_PARAMETER 有一個參數無效。 例如, HwDeviceExtensionEventDescriptionDataNULL,DataLength 大於名稱長度上限, EventChannel 是無效的值。
STOR_STATUS_UNSUCCESSFUL 基於其他內部原因而傳回。

備註

迷你埠可以呼叫 StorPortEtwLogByteStream ,以使用一般用途位元組數據流參數將 ETW 事件記錄到特定通道。

當迷你埠需要記錄 StorPortEtwEvent2StorPortEtwEvent4StorPortEtwEvent8 中允許的內容時,StorPortEtwLogByteStream 非常有用。 例如,迷你埠可以將其內部數據結構記錄為位元組數據流,以供在回報問題時用於診斷用途。

規格需求

需求
最低支援的伺服器 Windows Server 2022
標頭 storport.h

另請參閱

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError