structure COUNTED_REASON_CONTEXT (wdm.h)

La structure COUNTED_REASON_CONTEXT contient une ou plusieurs chaînes qui donnent les raisons d’une demande d’alimentation.

Syntaxe

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;

Membres

Version

Numéro de version de la structure. Définissez ce membre sur DIAGNOSTIC_REASON_VERSION.

Flags

Indique si la structure contient une chaîne de raison simple ou un ensemble détaillé de chaînes de raison. Définissez ce membre sur l’une des constantes suivantes :

  • DIAGNOSTIC_REASON_SIMPLE_STRING
  • DIAGNOSTIC_REASON_DETAILED_STRING
Si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING, le membre SimpleString de l’union est valide. Si Flags = DIAGNOSTIC_REASON_DETAILED_STRING, les membres ResourceFileName, ResourceReasonId, StringCount et ReasonStrings sont valides (et le membre SimpleString n’est pas valide).

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

Pointeur vers une chaîne à caractères larges et terminée par null qui contient le chemin d’accès d’un fichier de ressources. Ce fichier de ressources contient une ou plusieurs chaînes localisées qui donnent les raisons d’une demande d’alimentation. Ce membre est facultatif et peut être spécifié comme NULL ou comme chaîne vide si aucun fichier de ressources n’est requis. Ce membre est valide uniquement si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId

ID de ressource affecté à la première chaîne de motif dans le fichier de ressources spécifié par ResourceFileName. Ce membre est valide uniquement si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount

Nombre de chaînes de raison dans le tableau ReasonStrings ou dans le fichier de ressources spécifié par ResourceFileName. Ce membre est valide uniquement si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ReasonStrings

Pointeur vers un tableau de pointeurs de chaîne. Chaque élément de tableau est un pointeur vers une chaîne à caractères larges et terminée par null. Le nombre d’éléments de tableau est spécifié par StringCount. Ce membre est valide uniquement si Flags = DIAGNOSTIC_REASON_DETAILED_STRING.

DUMMYUNIONNAME.SimpleString

Pointeur vers une chaîne à caractères larges et terminée par null qui explique la raison d’une demande d’alimentation. Ce membre est valide uniquement si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING.

Remarques

Cette structure est utilisée par la routine PoCreatePowerRequest .

Le gestionnaire d’alimentation utilise la ou les chaînes de raison contenues dans cette structure comme aide au diagnostic pendant les tests fonctionnels et de performances.

La structure COUNTED_REASON_CONTEXT peut contenir une chaîne de raison simple ou un ensemble de chaînes de raison détaillées. Si Flags = DIAGNOSTIC_REASON_SIMPLE_STRING, le membre SimpleString pointe vers une chaîne qui explique la raison de la demande d’alimentation. Si Flags = DIAGNOSTIC_REASON_DETAILED_STRING, les membres ResourceFileName, ResourceReasonId, StringCount et ReasonStrings peuvent fournir un ensemble détaillé de raisons pour la demande d’alimentation.

L’indicateur DIAGNOSTIC_REASON_DETAILED_STRING prend en charge la localisation. Si le fichier de ressources localisé spécifié par ResourceFileName existe, power Manager récupère la chaîne de ressource spécifiée par ResourceReasonId à partir du fichier, puis met en forme la chaîne, en %1remplaçant , %2, etc. espaces réservés avec les éléments correspondants du tableau ReasonStrings . Les autres spécificateurs de format utilisés avec FormatMessageW ne sont pas pris en charge.

Power Manager récupère les chaînes de ressources des ressources STRINGTABLE.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans Windows 7 et les versions ultérieures du système d’exploitation Windows.
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h, Ntpoapi.h)

Voir aussi

PoCreatePowerRequest