WNODE_METHOD_ITEM 구조체(wmistr.h)
WNODE_METHOD_ITEM 구조는 데이터 블록의 instance 연결된 메서드를 나타내며 메서드에 대한 입력 데이터를 포함합니다.
구문
typedef struct tagWNODE_METHOD_ITEM {
struct _WNODE_HEADER WnodeHeader;
ULONG OffsetInstanceName;
ULONG InstanceIndex;
ULONG MethodId;
ULONG DataBlockOffset;
ULONG SizeDataBlock;
UCHAR VariableData[];
} WNODE_METHOD_ITEM, *PWNODE_METHOD_ITEM;
멤버
WnodeHeader
버퍼 크기, 요청과 연결된 데이터 블록을 나타내는 GUID 및 전달되거나 반환되는 WNODE_XXX 데이터에 대한 정보를 제공하는 플래그와 같은 모든 WNODE_XXX 구조에 공통적인 정보를 포함하는 WNODE_HEADER 구조체입니다.
OffsetInstanceName
이 구조체의 시작 부분에서 USHORT 경계에 정렬된 이 instance 동적 instance 이름까지의 오프셋(바이트)을 나타냅니다. 이 멤버는 WnodeHeader.Flags에서 WNODE_FLAG_STATIC_INSTANCE_NAMES 명확한 경우에만 유효합니다. 데이터 블록이 정적 instance 이름으로 등록된 경우 WMI는 OffsetInstanceName을 무시합니다.
InstanceIndex
이 데이터 블록에 대한 드라이버의 정적 instance 이름 목록에 포함된 이 instance 인덱스입니다. 이 멤버는 데이터 블록이 정적 instance 이름으로 등록되고 WNODE_FLAG_STATIC_INSTANCE_NAMES WnodeHeader.Flags에 설정된 경우에만 유효합니다. 데이터 블록이 동적 instance 이름으로 등록된 경우 WMI는 InstanceIndex를 무시합니다.
MethodId
실행할 메서드의 ID를 지정합니다.
DataBlockOffset
입력 WNODE_METHOD_ITEM 시작부터 메서드의 입력 데이터로의 오프셋 또는 출력 WNODE_METHOD_ITEM 시작부터 메서드의 출력 데이터까지의 오프셋을 나타냅니다.
SizeDataBlock
입력 WNODE_METHOD_ITEM 입력 데이터의 크기를 나타내거나 입력이 없는 경우 0을 나타냅니다. 출력 WNODE_METHOD_ITEMSizeDataBlock 은 출력 데이터의 크기를 나타내고 출력이 없으면 0을 나타냅니다.
VariableData
동적 instance 이름(있는 경우)과 8 바이트 경계에 정렬된 메서드의 입력 또는 출력을 포함한 추가 데이터가 포함됩니다.
설명
WMI는 IRP_MN_EXECUTE_METHOD 요청과 함께 WNODE_METHOD_ITEM 전달하여 데이터 블록의 instance 실행할 메서드와 메서드에 필요한 입력 데이터를 지정합니다.
메서드가 출력을 생성하는 경우 드라이버는 IrpStack-Parameters.WMI.Buffer>의 버퍼에 있는 DataBlockOffset의 출력으로 입력 데이터를 덮어쓰고 WNODE_METHOD_ITEMSizeDataBlock을 설정하여 출력 데이터의 크기를 지정합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | wmistr.h(Wmistr.h 포함) |