// wmistr.h
typedef struct tagWNODE_EVENT_REFERENCE {
struct _WNODE_HEADER WnodeHeader;
GUID TargetGuid;
ULONG TargetDataBlockSize;
union {
ULONG TargetInstanceIndex;
WCHAR TargetInstanceName[];
} DUMMYUNIONNAME;
} WNODE_EVENT_REFERENCE, *PWNODE_EVENT_REFERENCE;
View the official Windows Driver Kit DDI referenceNo description available.
The WNODE_EVENT_REFERENCE structure contains information that WMI can use to query for an event that exceeds the event size limit set in the registry.
WnodeHeaderIs a WNODE_HEADER structure that contains information common to all WNODE_*XXX* structures, such as the buffer size, the provider ID, the GUID that represents a data block associated with a request, and flags that provide information about the WNODE_*XXX* data being passed or returned.
TargetGuidIndicates the GUID that represents the event to query.
TargetDataBlockSizeIndicates the size of the event.
DUMMYUNIONNAMEDUMMYUNIONNAME.TargetInstanceIndexIndicates the index into the driver's list of static instance names for the event. This member is valid only if the event block was registered with static instance names and WNODE_FLAGS_STATIC_INSTANCE_NAMES is set in WnodeHeader.Flags.
DUMMYUNIONNAME.TargetInstanceNameIndicates the dynamic instance name of the event as a counted Unicode string. This member is valid only if WNODE_FLAGS_STATIC_INSTANCE_NAMES is clear in WnodeHeader.Flags and the event block was registered with dynamic instance names.
If the amount of data for an event exceeds the maximum size set in the registry, a driver can generate a WNODE_EVENT_REFERENCE that specifies a WNODE_EVENT_ITEM that WMI can query to obtain the event. For more information about defining and generating WMI events, see Implementing WMI.
The ProviderId member of the WNODE_HEADER structure for use in a WNODE_EVENT_REFERENCE structure should be initialized using IoWMIDeviceObjectToProviderId.