Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 718 of file classwmi.c.
Referenced by ClassNotifyFailurePredicted().
{ ULONG sizeNeeded; PWNODE_SINGLE_INSTANCE event; NTSTATUS status; if (EventData == NULL) { EventDataSize = 0; } sizeNeeded = sizeof(WNODE_SINGLE_INSTANCE) + EventDataSize; event = ExAllocatePoolWithTag(NonPagedPool, sizeNeeded, CLASS_TAG_WMI); if (event != NULL) { event->WnodeHeader.Guid = *Guid; event->WnodeHeader.ProviderId = IoWMIDeviceObjectToProviderId(DeviceObject); event->WnodeHeader.BufferSize = sizeNeeded; event->WnodeHeader.Flags = WNODE_FLAG_SINGLE_INSTANCE | WNODE_FLAG_EVENT_ITEM | WNODE_FLAG_STATIC_INSTANCE_NAMES; KeQuerySystemTime(&event->WnodeHeader.TimeStamp); event->InstanceIndex = InstanceIndex; event->SizeDataBlock = EventDataSize; event->DataBlockOffset = sizeof(WNODE_SINGLE_INSTANCE); if (EventData != NULL) { RtlCopyMemory( &event->VariableData, EventData, EventDataSize); } status = IoWMIWriteEvent(event); if (! NT_SUCCESS(status)) { ExFreePool(event); } } else { status = STATUS_INSUFFICIENT_RESOURCES; } return(status); } // end ClassWmiFireEvent()