Prev Next

_DEV_BROADCAST_USERDEFINED info  Overview  Group

The _DEV_BROADCAST_USERDEFINED structure contains the user-defined message and optional data associated with the DBT_USERDEFINED 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_DEVICECHANGE message as specified by the DEV_BROADCAST_HDR 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_USERDEFINED, DEV_BROADCAST_HDR, WM_DEVICECHANGE