WNODE_ALL_DATA 구조체(wmistr.h)
WNODE_ALL_DATA 구조에는 데이터 블록 또는 이벤트 블록의 모든 인스턴스에 대한 데이터가 포함됩니다.
구문
typedef struct tagWNODE_ALL_DATA {
struct _WNODE_HEADER WnodeHeader;
ULONG DataBlockOffset;
ULONG InstanceCount;
ULONG OffsetInstanceNameOffsets;
union {
ULONG FixedInstanceSize;
OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[];
} DUMMYUNIONNAME;
} WNODE_ALL_DATA, *PWNODE_ALL_DATA;
멤버
WnodeHeader
버퍼 크기, 요청과 연결된 데이터 블록을 나타내는 GUID 및 전달되거나 반환되는 WNODE_XXX 데이터에 대한 정보를 제공하는 플래그와 같은 모든 WNODE_XXX 구조체에 공통적인 정보를 포함하는 WNODE_HEADER 구조를 지정합니다.
DataBlockOffset
WNODE_ALL_DATA 구조체의 시작부터 첫 번째 instance 대한 데이터 시작 부분까지의 오프셋(바이트)을 나타냅니다.
InstanceCount
데이터가 IrpStack-Parameters.WMI.Buffer>의 버퍼에 있는 WNODE_ALL_DATA 고정 멤버를 따르는 인스턴스 수를 나타냅니다.
OffsetInstanceNameOffsets
WNODE_ALL_DATA 시작부터 동적 instance 이름에 대한 오프셋 배열까지의 오프셋(바이트)을 나타냅니다. 각 instance 이름은 USHORT 경계에 맞춰야 합니다. 반환할 모든 인스턴스에 정적 instance 이름이 있는 경우 WMI는 OffsetInstanceNameOffsets를 무시합니다.
DUMMYUNIONNAME
DUMMYUNIONNAME.FixedInstanceSize
이러한 모든 인스턴스의 크기가 동일한 경우 반환할 각 instance 크기를 나타냅니다. 이 멤버는 드라이버가 WnodeHeader.Flags에서 WNODE_FLAG_FIXED_INSTANCE_SIZE 설정하는 경우에만 유효합니다.
DUMMYUNIONNAME.OffsetInstanceDataAndLength
반환할 인스턴스의 크기가 다양하면 OffsetInstanceDataAndLength는 WNODE_ALL_DATA 시작부터 각 instance 시작 부분까지의 오프셋(바이트)을 지정하는 InstanceCount OFFSETINSTANCEDATAANDLENGTH 구조체의 배열입니다. OFFSETINSTANCEDATAANDLENGTH 는 다음과 같이 정의됩니다.
typedef struct {
ULONG OffsetInstanceData;
ULONG LengthInstanceData;
} OFFSETINSTANCEDATAANDLENGTH, *POFFSETINSTANCEDATAANDLENGTH;
각 instance USHORT 경계에 맞춰야 합니다. OffsetInstanceDataAndLength 멤버는 드라이버가 WnodeHeader.Flags에서 WNODE_FLAG_FIXED_INSTANCE_SIZE 지우는 경우에만 유효합니다.
설명
드라이버는 IRP_MN_QUERY_ALL_DATA 요청에 대한 응답으로 WNODE_ALL_DATA 구조를 채웁니다. 드라이버는 이벤트로 WNODE_ALL_DATA 생성할 수도 있습니다.
구조체의 고정 멤버를 채운 후 드라이버는 각각 IrpStack-Parameters.WMI.Buffer>의 버퍼에 DataBlockOffset 및 OffsetInstanceNameOffsets에 instance 데이터 및 동적 instance 이름(있는 경우)을 씁니다. WNODE_FLAG_FIXED_INSTANCE_SIZE 명확하면 첫 번째 오프셋은 OffsetInstanceDataAndLength 배열의 마지막 요소와 패딩을 따라 데이터가 8바이트 경계에서 시작되도록 합니다.
인스턴스 이름은 USHORT에 맞춰야 합니다. 인스턴스 데이터는 QUADWORD 정렬되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | wmistr.h(Wmistr.h 포함) |