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 | 有一個參數無效。 例如, HwDeviceExtension、 EventDescription 或 Data 是 NULL,DataLength 大於名稱長度上限, EventChannel 是無效的值。 |
STOR_STATUS_UNSUCCESSFUL | 基於其他內部原因而傳回。 |
備註
迷你埠可以呼叫 StorPortEtwLogByteStream ,以使用一般用途位元組數據流參數將 ETW 事件記錄到特定通道。
當迷你埠需要記錄 StorPortEtwEvent2、StorPortEtwEvent4 或 StorPortEtwEvent8 中允許的內容時,StorPortEtwLogByteStream 非常有用。 例如,迷你埠可以將其內部數據結構記錄為位元組數據流,以供在回報問題時用於診斷用途。
規格需求
需求 | 值 |
---|---|
最低支援的伺服器 | Windows Server 2022 |
標頭 | storport.h |