COUNTED_REASON_CONTEXT 구조체(wdm.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, StringCountReasonStrings 멤버가 유효하며 SimpleString 멤버가 잘못되었습니다.

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceFileName

리소스 파일의 경로 이름을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다. 이 리소스 파일에는 전원 요청에 대한 이유를 제공하는 하나 이상의 지역화된 문자열이 포함되어 있습니다. 이 멤버는 선택 사항이며, 리소스 파일이 필요하지 않은 경우 NULL 또는 빈 문자열로 지정할 수 있습니다. 이 멤버는 Flags = DIAGNOSTIC_REASON_DETAILED_STRING 경우에만 유효합니다.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.ResourceReasonId

ResourceFileName으로 지정된 리소스 파일의 첫 번째 이유 문자열에 할당된 리소스 ID입니다. 이 멤버는 Flags = DIAGNOSTIC_REASON_DETAILED_STRING 경우에만 유효합니다.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.StringCount

ReasonStrings 배열 또는 ResourceFileName으로 지정된 리소스 파일의 이유 문자열 수입니다. 이 멤버는 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 경우 ResourceFileName, ResourceReasonId, StringCountReasonStrings 멤버는 전원 요청에 대한 자세한 이유 집합을 제공할 수 있습니다.

DIAGNOSTIC_REASON_DETAILED_STRING 플래그는 지역화를 지원합니다. ResourceFileName으로 지정된 지역화된 리소스 파일이 있는 경우 Power Manager는 파일에서 ResourceReasonId로 지정된 리소스 문자열을 검색한 다음 문자열의 서식을 지정하여 , %2등으로 바꿉%1니다. ReasonStrings 배열의 해당 항목이 있는 자리 표시자입니다. FormatMessageW와 함께 사용되는 다른 형식 지정자는 지원되지 않습니다.

Power Manager는 STRINGTABLE 리소스에서 리소스 문자열을 검색합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 운영 체제의 Windows 7 이상 버전에서 지원됩니다.
머리글 wdm.h(Wdm.h, Ntddk.h, Ntifs.h, Ntpoapi.h 포함)

추가 정보

PoCreatePowerRequest