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 포함)

추가 정보

WNODE_HEADER