WNODE_EVENT_ITEM 구조체(wmistr.h)

WNODE_EVENT_ITEM 구조에는 이벤트에 대해 드라이버에서 생성한 데이터가 포함됩니다.

구문

typedef struct tagWNODE_EVENT_ITEM {
  struct _WNODE_HEADER WnodeHeader;
} WNODE_EVENT_ITEM, *PWNODE_EVENT_ITEM;

멤버

WnodeHeader

버퍼 크기, 요청과 연결된 데이터 블록을 나타내는 GUID 및 전달되거나 반환되는 WNODE_XXX 데이터에 대한 정보를 제공하는 플래그와 같은 모든 WNODE_XXX 구조체에 공통적인 정보를 포함하는 WNODE_HEADER 구조를 지정합니다.

설명

WNODE_EVENT_ITEM 구조체의 WnodeHeader 멤버 뒤에는 형식이 WnodeHeader에 설정된 플래그에 따라 달라지는 구조체가 잇습니다. WNODE_ALL_DATA, WNODE_SINGLE_INSTANCEWNODE_SINGLE_ITEM 가능성이 있습니다. 플래그에 대한 자세한 내용은 WNODE_HEADER 참조하세요.

WNODE_EVENT_ITEM 구조체에 사용할 WNODE_HEADER 구조체의 ProviderId 멤버는 IoWMIDeviceObjectToProviderId를 사용하여 초기화해야 합니다.

드라이버는 IRP_MN_ENABLE_EVENTS 요청에 대한 응답으로 이전에 사용하도록 설정한 이벤트만 생성합니다. 이벤트를 생성하기 위해 드라이버는 IoWMIWriteEvent 를 호출하고 포인터를 WNODE_EVENT_ITEM 전달합니다. WMI는 해당 이벤트에 등록된 모든 데이터 소비자에게 배달할 이벤트를 큐에 대기합니다.

최상의 성능을 위해 이벤트의 크기는 작아야 합니다. 그러나 이벤트의 데이터 양이 레지스트리에 정의된 최대 크기를 초과하는 경우 드라이버는 WMI가 관련 WNODE_EVENT_ITEM 쿼리하는 데 사용하는 WNODE_EVENT_REFERENCE 전달할 수 있습니다. WMI 이벤트를 정의하고 생성하는 방법에 대한 자세한 내용은 Windows Management Instrumentation을 참조하세요.

요구 사항

요구 사항
헤더 wmistr.h(Wmistr.h 포함)

추가 정보

IRP_MN_ENABLE_EVENTS

IoWMIDeviceObjectToProviderId

IoWMIWriteEvent

WNODE_ALL_DATA

WNODE_EVENT_REFERENCE

WNODE_HEADER

WNODE_SINGLE_INSTANCE

WNODE_SINGLE_ITEM