WNODE_METHOD_ITEM 구조체(wmistr.h)

WNODE_METHOD_ITEM 구조는 데이터 블록의 인스턴스와 연결된 메서드를 나타내며 메서드에 대한 입력 데이터를 포함합니다.

구문

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 경계에 맞춰진 이 인스턴스의 동적 인스턴스 이름까지의 오프셋(바이트)을 나타냅니다. 이 멤버는 WnodeHeader.Flags에서 WNODE_FLAG_STATIC_INSTANCE_NAMES 명확한 경우에만 유효합니다. 데이터 블록이 정적 인스턴스 이름으로 등록된 경우 WMI는 OffsetInstanceName을 무시합니다.

InstanceIndex

이 데이터 블록에 대한 드라이버의 정적 인스턴스 이름 목록에 있는 이 인스턴스의 인덱스입니다. 이 멤버는 데이터 블록이 정적 인스턴스 이름으로 등록되고 WNODE_FLAG_STATIC_INSTANCE_NAMES WnodeHeader.Flags에 설정된 경우에만 유효합니다. 데이터 블록이 동적 인스턴스 이름으로 등록된 경우 WMI는 InstanceIndex를 무시합니다.

MethodId

실행할 메서드의 ID를 지정합니다.

DataBlockOffset

입력 WNODE_METHOD_ITEM 시작부터 메서드의 입력 데이터까지의 오프셋 또는 출력 WNODE_METHOD_ITEM 시작부터 메서드의 출력 데이터까지의 오프셋을 나타냅니다.

SizeDataBlock

입력 WNODE_METHOD_ITEM 입력 데이터의 크기를 나타내거나 입력이 없는 경우 0을 나타냅니다. 출력 WNODE_METHOD_ITEM SizeDataBlock 은 출력 데이터의 크기를 나타내고 출력이 없으면 0을 나타냅니다.

VariableData

동적 인스턴스 이름(있는 경우)과 8 바이트 경계에 정렬된 메서드의 입력 또는 출력을 포함한 추가 데이터를 포함합니다.

설명

WMI는 IRP_MN_EXECUTE_METHOD 요청과 함께 WNODE_METHOD_ITEM 전달하여 데이터 블록 인스턴스에서 실행할 메서드와 메서드에 필요한 입력 데이터를 지정합니다.

메서드가 출력을 생성하는 경우 드라이버는 IrpStack->Parameters.WMI.Buffer의 버퍼에 있는 DataBlockOffset의 출력으로 입력 데이터를 덮어쓰고 WNODE_METHOD_ITEM SizeDataBlock을 설정하여 출력 데이터의 크기를 지정합니다.

요구 사항

   
헤더 wmistr.h(Wmistr.h 포함)

참고 항목

WNODE_HEADER