storPortEtwEvent4 函式 (storport.h)
StorPortEtwEvent4 會將 Windows (ETW 的事件追蹤記錄) 事件,其中包含四個一般用途 ETW 參數至記憶體追蹤通道。
語法
ULONG StorPortEtwEvent4(
[in] PVOID HwDeviceExtension,
[in, optional] PSTOR_ADDRESS Address,
[in] ULONG EventId,
[in] PWSTR EventDescription,
[in] ULONGLONG EventKeywords,
[in] STORPORT_ETW_LEVEL EventLevel,
[in] STORPORT_ETW_EVENT_OPCODE EventOpcode,
[in, optional] PSCSI_REQUEST_BLOCK Srb,
[in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter1Name,
[in] ULONGLONG Parameter1Value,
[in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter2Name,
[in] ULONGLONG Parameter2Value,
[in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter3Name,
[in] ULONGLONG Parameter3Value,
[in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter4Name,
[in] ULONGLONG Parameter4Value
);
參數
[in] HwDeviceExtension
迷你埠裝置延伸模組的指標。
[in, optional] Address
儲存單位裝置位址。 配接器裝置的此參數為NULL。
[in] EventId
ETW 事件的迷你埠定義標識碼。
[in] EventDescription
事件的描述文字。 此文字字串必須是 <= 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, optional] Srb
與記錄事件相關聯的 SRB 指標。 如果此參數包含有效的 SRB,則會記錄這個 SRB 指標和相關聯的 SRB 指標。
[in, optional] Parameter1Name
Parameter1Value 意義的描述。 此參數名稱字串必須是 <= STORPORT_ETW_MAX_PARAM_NAME_LENGTH。
[in] Parameter1Value
參數 1 的值。
[in, optional] Parameter2Name
Parameter2Value 意義的描述。 此參數名稱字串必須是 <= STORPORT_ETW_MAX_PARAM_NAME_LENGTH。
[in] Parameter2Value
參數 2 的值。
[in, optional] Parameter3Name
Parameter3Value 意義的描述。 此參數名稱字串必須是 <= STORPORT_ETW_MAX_PARAM_NAME_LENGTH。
[in] Parameter3Value
參數 3 的值。
[in, optional] Parameter4Name
Parameter4Value 意義的描述。 此參數名稱字串必須是 <= STORPORT_ETW_MAX_PARAM_NAME_LENGTH。
[in] Parameter4Value
參數 4 的值。
傳回值
StorPortEtwEvent4 會傳回下列其中一個狀態代碼:
傳回碼 | Description |
---|---|
STOR_STATUS_SUCCESS | 已成功記錄事件。 |
STOR_STATUS_NOT_IMPLEMENTED | 記憶體事件未啟用追蹤。 |
STOR_STATUS_INVALID_PARAMETER | 有一個參數無效。 例如, HwDeviceExtension 或 EventDescription 為 NULL、 EventDescription 大於最大名稱長度,或 ETW 參數名稱大於名稱長度上限。 |
備註
迷你埠可以呼叫 StorPortEtwEvent4 來記錄四個一般用途 ETW 參數。 ETW 參數會以四個名稱/值組表示。 如果參數未命名為 (ParameterXName = NULL) ,則例程會將對應的參數值設定為 0。
從 StorPort 迷你埠驅動程式產生的事件會記錄到 “Microsoft-Windows-Storage-Storport/Diagnose” ETW 信道。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 |
目標平台 | Universal |
標頭 | storport.h (包含 Storport.h) |
IRQL | <= DISPATCH_LEVEL |