estructura COUNTED_REASON_CONTEXT (wdm.h)

La estructura de COUNTED_REASON_CONTEXT contiene una o varias cadenas que proporcionan razones para una solicitud de alimentación.

Sintaxis

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;

Miembros

Version

Número de versión de la estructura. Establezca este miembro en DIAGNOSTIC_REASON_VERSION.

Flags

Indica si la estructura contiene una cadena de motivo simple o un conjunto detallado de cadenas de motivo. Establezca este miembro en una de las siguientes constantes:

  • DIAGNOSTIC_REASON_SIMPLE_STRING
  • DIAGNOSTIC_REASON_DETAILED_STRING
Si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING, el miembro SimpleString de la unión es válido. Si Flags = DIAGNOSTIC_REASON_DETAILED_STRING, los miembros ResourceFileName, ResourceReasonId, StringCount y ReasonStrings son válidos (y el miembro SimpleString no es válido).

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

Puntero a una cadena terminada en null de caracteres anchos que contiene el nombre de ruta de acceso de un archivo de recursos. Este archivo de recursos contiene una o varias cadenas localizadas que proporcionan razones para una solicitud de energía. Este miembro es opcional y se puede especificar como NULL o como una cadena vacía si no se requiere ningún archivo de recursos. Este miembro solo es válido si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId

Identificador de recurso asignado a la primera cadena de motivo del archivo de recursos especificado por ResourceFileName. Este miembro solo es válido si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount

Número de cadenas de motivo en la matriz ReasonStrings o en el archivo de recursos especificado por ResourceFileName. Este miembro solo es válido si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ReasonStrings

Puntero a una matriz de punteros de cadena. Cada elemento de matriz es un puntero a una cadena terminada en null de caracteres anchos. StringCount especifica el número de elementos de matriz. Este miembro solo es válido si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.SimpleString

Puntero a una cadena terminada en caracteres anchos y terminada en NULL que explica el motivo de una solicitud de alimentación. Este miembro solo es válido si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING.

Comentarios

Esta estructura la usa la rutina PoCreatePowerRequest .

El administrador de energía usa la cadena de motivo o las cadenas contenidas en esta estructura como ayuda de diagnóstico durante las pruebas funcionales y de rendimiento.

La estructura COUNTED_REASON_CONTEXT puede contener una cadena de motivo simple o un conjunto de cadenas de motivo detalladas. Si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING, el miembro SimpleString apunta a una cadena que explica el motivo de la solicitud de energía. Si Flags = DIAGNOSTIC_REASON_DETAILED_STRING, los miembros ResourceFileName, ResourceReasonId, StringCount y ReasonStrings pueden proporcionar un conjunto detallado de motivos para la solicitud de energía.

La marca DIAGNOSTIC_REASON_DETAILED_STRING admite la localización. Si el archivo de recursos localizado especificado por ResourceFileName existe, el administrador de energía recupera la cadena de recurso especificada por ResourceReasonId del archivo y, a continuación, da formato a la cadena, reemplazando %1, %2, etc. marcadores de posición con los elementos correspondientes de la matriz ReasonStrings . No se admiten otros especificadores de formato usados con FormatMessageW .

El administrador de energía recupera las cadenas de recursos de los recursos STRINGTABLE.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con Windows 7 y versiones posteriores del sistema operativo Windows.
Encabezado wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Ntpoapi.h)

Consulte también

PoCreatePowerRequest