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
如果 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 指定的资源文件中第一个原因字符串的资源 ID。 仅当 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, 则 ResourceFileNameResourceReasonIdStringCountReasonStrings 成员可以为电源请求提供一组详细的原因。

DIAGNOSTIC_REASON_DETAILED_STRING标志支持本地化。 如果存在 由 ResourceFileName 指定的本地化资源文件,则电源管理器将从该文件中检索 ResourceReasonId 指定的资源字符串,然后格式化字符串,替换 %1%2等。 具有 ReasonStrings 数组中相应项的占位符。 不支持与 FormatMessageW 一起使用的其他格式说明符。

电源管理器从 STRINGTABLE 资源检索资源字符串。

要求

要求
最低受支持的客户端 在 Windows 7 及更高版本的 Windows 操作系统中受支持。
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Ntpoapi.h)

另请参阅

PoCreatePowerRequest