_DEV_BROADCAST_USERDEFINED  291OZYX 

The _DEV_BROADCAST_USERDEFINED structure contains the user-defined message and optional data associated with the DBT_USERDEFINED12ZC6NZ device message.

struct _DEV_BROADCAST_USERDEFINED { 
    struct _DEV_BROADCAST_HDR dbud_dbh;
    char  dbud_szName[1];           // ASCIIZ name 
//    BYTE  dbud_rgbUserDefined[];  // Optional user-defined contents 
};
 

Members

dbud_dbh

Information about the device affected by a WM_DEVICECHANGE19GL49. message as specified by the DEV_BROADCAST_HDR30__ZME structure. Because the _DEV_BROADCAST_USERDEFINED structure is variable length, dbud_dbh.dbch_size must be the size in bytes of the entire structure, including the variable length part.

dbud_szName

A case-sensitive, null-terminated string that names the message. The name must consist of the vendor name, a backslash, followed by arbitrary user-defined null-terminated text. For example:

"WidgetWare\QueryScannerShutdown"

or

"WidgetWare\Video Q39S\AdapterReady"

 

dbud_rgbUserDefined

Optional user-defined information.

 

Because this structure contains variable length fields, use this structure tag as a template for creating a pointer to a user-defined structure. Note that the structure must not contain pointers. For example:

#define NAME_LENGTH 32

#define USER_LENGTH 50

 

typedef struct tagWIDGET_WARE_DEV_BROADCAST_USERDEFINED

    struct _DEV_BROADCAST_HDR DBHeader;
    char  szName[NAME_LENGTH]
    BYTE  UserDefined[USER_LENGTH];

} WIDGET_WARE_DEV_BROADCAST_USERDEFINED;
 

See Also

DBT_USERDEFINED12ZC6NZ, DEV_BROADCAST_HDR30__ZME, WM_DEVICECHANGE19GL49.