COUNTED_REASON_CONTEXT 結構 (wdm.h)
COUNTED_REASON_CONTEXT 結構包含一或多個字串,可提供電源要求的原因。
語法
typedef struct _COUNTED_REASON_CONTEXT {
ULONG Version;
ULONG Flags;
union {
struct {
UNICODE_STRING ResourceFileName;
USHORT ResourceReasonId;
ULONG StringCount;
PUNICODE_STRING ReasonStrings;
} DUMMYSTRUCTNAME;
UNICODE_STRING SimpleString;
} DUMMYUNIONNAME;
} COUNTED_REASON_CONTEXT, *PCOUNTED_REASON_CONTEXT;
成員
Version
結構的版本號碼。 將此成員設定為 DIAGNOSTIC_REASON_VERSION。
Flags
指出結構是否包含簡單的原因字串或一組詳細的原因字串。 將此成員設定為下列其中一個常數:
- DIAGNOSTIC_REASON_SIMPLE_STRING
- DIAGNOSTIC_REASON_DETAILED_STRING
DUMMYUNIONNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName
包含資源檔案路徑名稱之寬字元、以 Null 結尾的字串指標。 此資源檔包含一或多個當地語系化字串,可提供電源要求的原因。 如果不需要資源檔,此成員是選擇性的,而且可以指定為 NULL 或空字串。 只有當 Flags = DIAGNOSTIC_REASON_DETAILED_STRING時,這個成員才有效。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId
指派給 ResourceFileName 所指定資源檔中第一個原因字串的資源識別符。 只有當 Flags = DIAGNOSTIC_REASON_DETAILED_STRING時,這個成員才有效。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount
ReasonStrings 陣列或 ResourceFileName 所指定之資源檔中的原因字串數目。 只有當 Flags = DIAGNOSTIC_REASON_DETAILED_STRING時,這個成員才有效。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.ReasonStrings
字串指標陣列的指標。 每個陣列元素都是寬字元、以 Null 結尾的字串指標。 StringCount 會指定數位元素的數目。 只有當 Flags = DIAGNOSTIC_REASON_DETAILED_STRING時,這個成員才有效。
DUMMYUNIONNAME.SimpleString
寬字元、Null 終止字串的指標,說明電源要求的原因。 只有當 Flags = DIAGNOSTIC_REASON_SIMPLE_STRING時,這個成員才有效。
備註
PoCreatePowerRequest 例程會使用此結構。
電源管理員會使用此結構中包含的原因字串或字串作為功能與效能測試期間的診斷輔助。
COUNTED_REASON_CONTEXT 結構可以包含簡單的原因字串或一組詳細的原因字串。 如果 Flags = DIAGNOSTIC_REASON_SIMPLE_STRING,SimpleString 成員會指向說明電源要求原因的字串。 如果 Flags = DIAGNOSTIC_REASON_DETAILED_STRING,ResourceFileName、 ResourceReasonId、 StringCount 和 ReasonStrings 成員可以提供一組詳細的電源要求原因。
DIAGNOSTIC_REASON_DETAILED_STRING旗標支援當地語系化。 如果 ResourceFileName 指定的當地語系化資源檔存在,Power Manager 會從檔案擷取 ResourceReasonId 所指定的資源字串,然後格式化字元串、取代 %1
、 %2
等。 具有 ReasonStrings 陣列中對應專案的佔位元元。 不支援搭配 FormatMessageW 使用的其他格式規範。
Power Manager 會從 STRINGTABLE 資源擷取資源字串。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 和更新版本的 Windows 作業系統支援。 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Ntpoapi.h) |