typedef struct _PLUGPLAY_EVENT_BLOCK                // 7 elements, 0x50 bytes (sizeof)
          {
/*0x000*/     struct _GUID EventGuid;                         // 4 elements, 0x10 bytes (sizeof)
/*0x010*/     enum _PLUGPLAY_EVENT_CATEGORY EventCategory;
/*0x014*/     UINT8        _PADDING0_[0x4];
/*0x018*/     ULONG32*     Result;
/*0x020*/     ULONG32      Flags;
/*0x024*/     ULONG32      TotalSize;
/*0x028*/     VOID*        DeviceObject;
              union                                           // 11 elements, 0x20 bytes (sizeof)
              {
                  struct                                      // 2 elements, 0x14 bytes (sizeof)
                  {
/*0x030*/             struct _GUID ClassGuid;                 // 4 elements, 0x10 bytes (sizeof)
/*0x040*/             WCHAR        SymbolicLinkName[1];
/*0x042*/             UINT8        _PADDING1_[0x2];
                  }DeviceClass;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x030*/             WCHAR        DeviceIds[1];
                  }TargetDevice;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x030*/             WCHAR        DeviceId[1];
                  }InstallDevice;
                  struct                                      // 2 elements, 0x10 bytes (sizeof)
                  {
/*0x030*/             VOID*        NotificationStructure;
/*0x038*/             WCHAR        DeviceIds[1];
/*0x03A*/             UINT8        _PADDING1_[0x6];
                  }CustomNotification;
                  struct                                      // 1 elements, 0x8 bytes (sizeof)
                  {
/*0x030*/             VOID*        Notification;
                  }ProfileNotification;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x030*/             ULONG32      NotificationCode;
/*0x034*/             ULONG32      NotificationData;
                  }PowerNotification;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x030*/             enum _PNP_VETO_TYPE VetoType;
/*0x034*/             WCHAR        DeviceIdVetoNameBuffer[1];
/*0x036*/             UINT8        _PADDING1_[0x2];
                  }VetoNotification;
                  struct                                      // 1 elements, 0x10 bytes (sizeof)
                  {
/*0x030*/             struct _GUID BlockedDriverGuid;         // 4 elements, 0x10 bytes (sizeof)
                  }BlockedDriverNotification;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x030*/             WCHAR        ParentId[1];
                  }InvalidIDNotification;
                  struct                                      // 5 elements, 0x20 bytes (sizeof)
                  {
/*0x030*/             struct _GUID PowerSettingGuid;          // 4 elements, 0x10 bytes (sizeof)
/*0x040*/             ULONG32      Flags;
/*0x044*/             ULONG32      SessionId;
/*0x048*/             ULONG32      DataLength;
/*0x04C*/             UINT8        Data[1];
/*0x04D*/             UINT8        _PADDING1_[0x3];
                  }PowerSettingNotification;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x030*/             WCHAR        DeviceId[1];
                  }PropertyChangeNotification;
              }u;
          }PLUGPLAY_EVENT_BLOCK, *PPLUGPLAY_EVENT_BLOCK;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.