View previous topic :: View next topic |
Author |
Message |
Vladimir
Joined: 09 Apr 2006 Posts: 13 Location: Moscow, Russia
|
Posted: Sun Apr 09, 2006 5:45 pm Post subject: dbt.d |
|
|
Hi, Did not found where to register to get write access to svn, so published the code here.
Kind regards,
Vladimir
Code: | /***********************************************************************\
* dbt.d *
* *
* Windows API header module *
* *
* Translated from MinGW Windows headers *
* by Vladimir Vlasov *
* *
* Placed into public domain *
\***********************************************************************/
module win32.dbt;
private import win32.windef, win32.w32api;
enum : DWORD {
DBT_NO_DISK_SPACE = 0x47,
DBT_CONFIGMGPRIVATE = 0x7FFF,
DBT_DEVICEARRIVAL = 0x8000,
DBT_DEVICEQUERYREMOVE = 0x8001,
DBT_DEVICEQUERYREMOVEFAILED = 0x8002,
DBT_DEVICEREMOVEPENDING = 0x8003,
DBT_DEVICEREMOVECOMPLETE = 0x8004,
DBT_DEVICETYPESPECIFIC = 0x8005,
DBT_DEVTYP_OEM = 0,
DBT_DEVTYP_DEVNODE = 1,
DBT_DEVTYP_VOLUME = 2,
DBT_DEVTYP_PORT = 3,
DBT_DEVTYP_NET = 4
}
static if (_WIN32_WINDOWS >= 0x040A) {
enum : DWORD {
DBT_DEVTYP_DEVICEINTERFACE = 5,
DBT_DEVTYP_HANDLE = 6
}
}
enum : DWORD {
DBT_APPYBEGIN,
DBT_APPYEND,
DBT_DEVNODES_CHANGED = 7,
DBT_QUERYCHANGECONFIG = 0x17,
DBT_CONFIGCHANGED = 0x18,
DBT_CONFIGCHANGECANCELED = 0x19,
DBT_MONITORCHANGE = 0x1B,
DBT_SHELLLOGGEDON = 32,
DBT_CONFIGMGAPI32 = 34,
DBT_VXDINITCOMPLETE = 35,
DBT_VOLLOCKQUERYLOCK = 0x8041,
DBT_VOLLOCKLOCKTAKEN = 0x8042,
DBT_VOLLOCKLOCKFAILED = 0x8043,
DBT_VOLLOCKQUERYUNLOCK = 0x8044,
DBT_VOLLOCKLOCKRELEASED = 0x8045,
DBT_VOLLOCKUNLOCKFAILED = 0x8046,
DBT_USERDEFINED = 0xFFFF
}
enum : WORD {
DBTF_MEDIA = 1,
DBTF_NET = 2
}
/* Also defined in winuser.h */
enum : DWORD {
BSM_ALLCOMPONENTS = 0,
BSM_APPLICATIONS = 8,
BSM_ALLDESKTOPS = 16,
BSM_INSTALLABLEDRIVERS = 4,
BSM_NETDRIVER = 2,
BSM_VXDS = 1,
BSF_FLUSHDISK = 0x00000004,
BSF_FORCEIFHUNG = 0x00000020,
BSF_IGNORECURRENTTASK = 0x00000002,
BSF_NOHANG = 0x00000008,
BSF_NOTIMEOUTIFNOTHUNG = 0x00000040,
BSF_POSTMESSAGE = 0x00000010,
BSF_QUERY = 0x00000001,
BSF_MSGSRV32ISOK_BIT = 31,
BSF_MSGSRV32ISOK = 0x80000000
}
static if (_WIN32_WINNT >= 0x0500) {
enum : DWORD {
BSF_ALLOWSFW = 0x00000080,
BSF_SENDNOTIFYMESSAGE = 0x00000100
}
}
static if (_WIN32_WINNT >= 0x0501) {
enum : DWORD {
BSF_LUID = 0x00000400,
BSF_RETURNHDESK = 0x00000200
}
}
struct DEV_BROADCAST_HDR {
DWORD dbch_size = DEV_BROADCAST_HDR.sizeof;
DWORD dbch_devicetype;
DWORD dbch_reserved;
}
alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR;
struct DEV_BROADCAST_OEM {
DWORD dbco_size = DEV_BROADCAST_OEM.sizeof;
DWORD dbco_devicetype;
DWORD dbco_reserved;
DWORD dbco_identifier;
DWORD dbco_suppfunc;
}
alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM;
struct DEV_BROADCAST_PORT_A {
DWORD dbcp_size = DEV_BROADCAST_PORT_A.sizeof;
DWORD dbcp_devicetype;
DWORD dbcp_reserved;
char _dbcp_name[1];
char* dbcp_name() { return _dbcp_name.ptr; }
}
alias DEV_BROADCAST_PORT_A* PDEV_BROADCAST_PORT_A;
struct DEV_BROADCAST_PORT_W {
DWORD dbcp_size = DEV_BROADCAST_PORT_W.sizeof;
DWORD dbcp_devicetype;
DWORD dbcp_reserved;
WCHAR _dbcp_name[1];
WCHAR* dbcp_name() { return _dbcp_name.ptr; }
}
alias DEV_BROADCAST_PORT_W* PDEV_BROADCAST_PORT_W;
struct DEV_BROADCAST_USERDEFINED {
DEV_BROADCAST_HDR dbud_dbh;
char _dbud_szName[1];
char* dbud_szName() { return _dbud_szName.ptr; }
}
struct DEV_BROADCAST_VOLUME {
DWORD dbcv_size = DEV_BROADCAST_VOLUME.sizeof;
DWORD dbcv_devicetype;
DWORD dbcv_reserved;
DWORD dbcv_unitmask;
WORD dbcv_flags;
}
alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME;
version (Unicode) {
alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT;
} else {
alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT;
}
alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
static if ((_WIN32_WINDOWS >= 0x0410) || (_WIN32_WINNT >= 0x0500)) {
struct DEV_BROADCAST_DEVICEINTERFACE_A {
DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
char _dbcc_name[1];
char* dbcc_name() { return _dbcc_name.ptr; }
}
alias DEV_BROADCAST_DEVICEINTERFACE_A* PDEV_BROADCAST_DEVICEINTERFACE_A;
struct DEV_BROADCAST_DEVICEINTERFACE_W {
DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_W.sizeof;
DWORD dbcc_devicetype;
DWORD dbcc_reserved;
GUID dbcc_classguid;
WCHAR _dbcc_name[1];
WCHAR* dbcc_name() { return _dbcc_name.ptr; }
}
alias DEV_BROADCAST_DEVICEINTERFACE_W* PDEV_BROADCAST_DEVICEINTERFACE_W;
version (Unicode) {
alias DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
} else {
alias DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
}
alias DEV_BROADCAST_DEVICEINTERFACE* PDEV_BROADCAST_DEVICEINTERFACE;
struct DEV_BROADCAST_HANDLE {
DWORD dbch_size = DEV_BROADCAST_HANDLE.sizeof;
DWORD dbch_devicetype;
DWORD dbch_reserved;
HANDLE dbch_handle;
DWORD dbch_hdevnotify;
GUID dbch_eventguid;
LONG dbch_nameoffset;
BYTE _dbch_data[1];
BYTE* dbch_data() { return _dbch_data.ptr; }
}
alias DEV_BROADCAST_HANDLE* PDEV_BROADCAST_HANDLE;
}
|
|
|
Back to top |
|
|
brad Site Admin
Joined: 22 Feb 2004 Posts: 490 Location: Atlanta, GA USA
|
Posted: Mon Apr 10, 2006 8:08 am Post subject: Re: dbt.d |
|
|
Vladimir wrote: | Hi, Did not found where to register to get write access to svn, so published the code here. |
All registered users (in the Forums section) are allowed to commit code to the Bindings project. Just use your same username/password and you should be fine.
BA |
|
Back to top |
|
|
Vladimir
Joined: 09 Apr 2006 Posts: 13 Location: Moscow, Russia
|
Posted: Tue Apr 11, 2006 2:47 am Post subject: |
|
|
Thank you |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|