共用方式為


COUNTED_REASON_CONTEXT結構 (ntpoapi.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
如果 Flags = DIAGNOSTIC_REASON_SIMPLE_STRING,則聯集的 SimpleString 成員有效。 如果 Flags = DIAGNOSTIC_REASON_DETAILED_STRING,ResourceFileNameResourceReasonIdStringCountReasonStrings 成員是有效的 (, 而 SimpleString 成員無效) 。

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 例程會使用此結構。

Power Manager 會使用此結構中包含的原因字串或字串,作為功能與效能測試期間的診斷協助。

COUNTED_REASON_CONTEXT 結構可以包含簡單的原因字串或一組詳細的原因字串。 如果 Flags = DIAGNOSTIC_REASON_SIMPLE_STRING,SimpleString 成員會指向說明電源要求原因的字串。 如果 Flags = DIAGNOSTIC_REASON_DETAILED_STRING,ResourceFileNameResourceReasonIdStringCountReasonStrings 成員可以針對電源要求提供一組詳細的原因。

DIAGNOSTIC_REASON_DETAILED_STRING旗標支援當地語系化。 如果 ResourceFileName 指定的當地語系化資源檔存在,Power Manager 會從檔案擷取 ResourceReasonId 所指定的資源字串,然後格式化字元串、取代 %1%2等。 具有 ReasonStrings 陣列中對應專案的佔位元元。 不支援搭配 FormatMessageW 使用的其他格式規範。

Power Manager 會從 STRINGTABLE 資源擷取資源字串。

規格需求

需求
最低支援的用戶端 Windows 7 和更新版本的 Windows 作業系統支援。
標頭 ntpoapi.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Ntpoapi.h)

另請參閱

PoCreatePowerRequest