typedef struct _PLUGPLAY_EVENT_BLOCK                // 7 elements, 0x40 bytes (sizeof)
          {
/*0x000*/     struct _GUID EventGuid;                         // 4 elements, 0x10 bytes (sizeof)
/*0x010*/     enum _PLUGPLAY_EVENT_CATEGORY EventCategory;
/*0x014*/     ULONG32*     Result;
/*0x018*/     ULONG32      Flags;
/*0x01C*/     ULONG32      TotalSize;
/*0x020*/     VOID*        DeviceObject;
              union                                           // 10 elements, 0x1C bytes (sizeof)
              {
                  struct                                      // 2 elements, 0x14 bytes (sizeof)
                  {
/*0x024*/             struct _GUID ClassGuid;                 // 4 elements, 0x10 bytes (sizeof)
/*0x034*/             WCHAR        SymbolicLinkName[1];
/*0x036*/             UINT8        _PADDING0_[0x2];
                  }DeviceClass;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x024*/             WCHAR        DeviceIds[1];
                  }TargetDevice;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x024*/             WCHAR        DeviceId[1];
                  }InstallDevice;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x024*/             VOID*        NotificationStructure;
/*0x028*/             WCHAR        DeviceIds[1];
/*0x02A*/             UINT8        _PADDING0_[0x2];
                  }CustomNotification;
                  struct                                      // 1 elements, 0x4 bytes (sizeof)
                  {
/*0x024*/             VOID*        Notification;
                  }ProfileNotification;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x024*/             ULONG32      NotificationCode;
/*0x028*/             ULONG32      NotificationData;
                  }PowerNotification;
                  struct                                      // 2 elements, 0x8 bytes (sizeof)
                  {
/*0x024*/             enum _PNP_VETO_TYPE VetoType;
/*0x028*/             WCHAR        DeviceIdVetoNameBuffer[1];
/*0x02A*/             UINT8        _PADDING0_[0x2];
                  }VetoNotification;
                  struct                                      // 1 elements, 0x10 bytes (sizeof)
                  {
/*0x024*/             struct _GUID BlockedDriverGuid;         // 4 elements, 0x10 bytes (sizeof)
                  }BlockedDriverNotification;
                  struct                                      // 1 elements, 0x2 bytes (sizeof)
                  {
/*0x024*/             WCHAR        ParentId[1];
                  }InvalidIDNotification;
                  struct                                      // 4 elements, 0x1C bytes (sizeof)
                  {
/*0x024*/             struct _GUID PowerSettingGuid;          // 4 elements, 0x10 bytes (sizeof)
/*0x034*/             UINT8        PowerSettingChanged;
/*0x035*/             UINT8        _PADDING0_[0x3];
/*0x038*/             ULONG32      DataLength;
/*0x03C*/             UINT8        Data[1];
/*0x03D*/             UINT8        _PADDING1_[0x3];
                  }PowerSettingNotification;
              }u;
          }PLUGPLAY_EVENT_BLOCK, *PPLUGPLAY_EVENT_BLOCK;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.