次の方法で共有


COUNTED_REASON_CONTEXT 構造体 (ntpoapi.h)

COUNTED_REASON_CONTEXT構造体には、電源要求の理由を示す 1 つ以上の文字列が含まれています。

構文

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の場合、ResourceFileNameResourceReasonIdStringCountおよび ReasonStrings メンバーは有効です (SimpleString メンバーは無効です)。

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

リソース ファイルのパス名を含むワイド文字の null で終わる文字列へのポインター。 このリソース ファイルには、電源要求の理由を示す 1 つ以上のローカライズされた文字列が含まれています。 このメンバーは省略可能であり、リソース ファイルが必要ない場合は NULL または空の文字列として指定できます。 このメンバーは、 Flags = DIAGNOSTIC_REASON_DETAILED_STRINGの場合にのみ有効です。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId

ResourceFileName で指定されたリソース ファイル内の最初の理由文字列に割り当てられたリソース ID。 このメンバーは、 Flags = DIAGNOSTIC_REASON_DETAILED_STRINGの場合にのみ有効です。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount

ResourceFileName で指定された ReasonStrings 配列またはリソース ファイル内の理由文字列の数。 このメンバーは、 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 で指定されたリソース文字列をファイルから取得し、文字列の書式を設定し、、%2、 などを置き換えます%1ReasonStrings 配列の対応する項目を含むプレースホルダー。 FormatMessageW で使用される他の書式指定子はサポートされていません。

電源マネージャーは、 STRINGTABLE リソースからリソース文字列を取得します。

要件

要件
サポートされている最小のクライアント Windows 7 以降のバージョンの Windows オペレーティング システムでサポートされています。
Header ntpoapi.h (Wdm.h、Ntddk.h、Ntifs.h、Ntpoapi.h を含む)

こちらもご覧ください

PoCreatePowerRequest