//0x48 bytes (sizeof)
struct _PLUGPLAY_EVENT_BLOCK
{
struct _GUID EventGuid; //0x0
enum _PLUGPLAY_EVENT_CATEGORY EventCategory; //0x10
ULONG* Result; //0x18
ULONG Flags; //0x20
ULONG TotalSize; //0x24
VOID* DeviceObject; //0x28
union
{
struct
{
struct _GUID ClassGuid; //0x30
USHORT SymbolicLinkName[1]; //0x40
} DeviceClass; //0x30
struct
{
USHORT DeviceIds[1]; //0x30
} TargetDevice; //0x30
struct
{
USHORT DeviceId[1]; //0x30
} InstallDevice; //0x30
struct
{
VOID* NotificationStructure; //0x30
USHORT DeviceIds[1]; //0x38
} CustomNotification; //0x30
struct
{
VOID* Notification; //0x30
} ProfileNotification; //0x30
struct
{
ULONG NotificationCode; //0x30
ULONG NotificationData; //0x34
} PowerNotification; //0x30
struct
{
enum _PNP_VETO_TYPE VetoType; //0x30
USHORT DeviceIdVetoNameBuffer[1]; //0x34
} VetoNotification; //0x30
struct
{
struct _GUID BlockedDriverGuid; //0x30
} BlockedDriverNotification; //0x30
struct
{
USHORT ParentId[1]; //0x30
} InvalidIDNotification; //0x30
} u; //0x30
};