Поделиться через


структура 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
Если Флаги = DIAGNOSTIC_REASON_SIMPLE_STRING, то SimpleString является допустимым членом объединения. Если флаги = DIAGNOSTIC_REASON_DETAILED_STRING, то ResourceFileName, ResourceReasonId, StringCountи элементы ReasonStrings являются допустимыми (и член SimpleString недействителен).

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

Указатель на строку с расширенным символом, завершающую значение NULL, содержащую имя пути файла ресурса. Этот файл ресурса содержит одну или несколько локализованных строк, которые дают причины для запроса питания. Этот элемент является необязательным и может быть указан как 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

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

DUMMYUNIONNAME.SimpleString

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

Замечания

Эта структура используется подпрограммой PoCreatePowerRequest.

В power manager используется строка причины или строки, содержащиеся в этой структуре, в качестве диагностической помощи во время функционального и производительного тестирования.

Структура COUNTED_REASON_CONTEXT может содержать простую строку причин или набор подробных строк причин. Если флаги = DIAGNOSTIC_REASON_SIMPLE_STRING, элемент SimpleString указывает на строку, объясняющую причину запроса питания. Если Флаги = DIAGNOSTIC_REASON_DETAILED_STRING, resourceFileName, ResourceReasonId, StringCountи элементы ReasonStrings могут дать подробный набор причин для запроса питания.

Флаг DIAGNOSTIC_REASON_DETAILED_STRING поддерживает локализацию. Если локализованный файл ресурсов, указанный ResourceFileName существует, диспетчер питания извлекает строку ресурса, указанную ResourceReasonId из файла, а затем форматирует строку, заменив %1, %2и т. д. заполнители с соответствующими элементами из массива ReasonStrings. Другие описатели формата, используемые с FormatMessageW, не поддерживаются.

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

Требования

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

См. также

PoCreatePowerRequest