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 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기