структура 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, элементы ResourceFileName, ResourceReasonId, StringCount и ReasonStrings являются допустимыми (а элемент SimpleString недопустим).

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

Указатель на строку с расширенным символом, заканчивающуюся нулевым значением, которая содержит путь к файлу ресурсов. Этот файл ресурсов содержит одну или несколько локализованных строк, которые дают основания для запроса питания. Этот элемент является необязательным и может быть указан как NULL или как пустая строка, если файл ресурсов не требуется. Этот элемент действителен, только если Флаги = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId

Идентификатор ресурса, назначенный первой строке причины в файле ресурсов, заданном resourceFileName. Этот элемент действителен, только если Флаги = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount

Количество строк причины в массиве ReasonStrings или в файле ресурсов, заданном resourceFileName. Этот элемент действителен, только если Флаги = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ReasonStrings

Указатель на массив строковых указателей. Каждый элемент массива является указателем на строку с расширенным символом, заканчивающейся нулевым значением. Количество элементов массива задается строкой StringCount. Этот элемент действителен, только если Флаги = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.SimpleString

Указатель на строку с расширенным символом, завершающуюся значением NULL, которая объясняет причину запроса на включение питания. Этот элемент действителен, только если Флаги = 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 , существует, диспетчер управления питанием извлекает строку ресурса, указанную параметром ResourceReasonId , из файла, а затем форматирует строку, заменив %1, %2и т. д. заполнители с соответствующими элементами из массива ReasonStrings . Другие описатели формата, используемые с FormatMessageW , не поддерживаются.

Диспетчер управления питанием извлекает строки ресурсов из ресурсов STRINGTABLE.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в Windows 7 и более поздних версиях операционной системы Windows.
Верхняя часть ntpoapi.h (включая Wdm.h, Ntddk.h, Ntifs.h, Ntpoapi.h)

См. также раздел

PoCreatePowerRequest