diff options
author | Simon Rozman <simon@rozman.si> | 2019-06-03 14:12:50 +0200 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2019-06-04 14:45:23 +0200 |
commit | 014f736480dae2dc8b81a7206831058c2c451ccd (patch) | |
tree | dc6329179e77a75393523f53c2e4e973d9254226 | |
parent | 43a4589043faa6f81c2148e462e2b739e22ccb55 (diff) |
setupapi: define PropChangeParams struct
This structure is required for calling DIF_PROPERTYCHANGE installer
class.
Signed-off-by: Simon Rozman <simon@rozman.si>
-rw-r--r-- | tun/wintun/setupapi/types_windows.go | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tun/wintun/setupapi/types_windows.go b/tun/wintun/setupapi/types_windows.go index 287ea52..cf2b718 100644 --- a/tun/wintun/setupapi/types_windows.go +++ b/tun/wintun/setupapi/types_windows.go @@ -268,15 +268,34 @@ func MakeClassInstallHeader(installFunction DI_FUNCTION) *ClassInstallHeader { return hdr } +// DICS_STATE specifies values indicating a change in a device's state +type DICS_STATE uint32 + +const ( + DICS_ENABLE DICS_STATE = 0x00000001 // The device is being enabled. + DICS_DISABLE DICS_STATE = 0x00000002 // The device is being disabled. + DICS_PROPCHANGE DICS_STATE = 0x00000003 // The properties of the device have changed. + DICS_START DICS_STATE = 0x00000004 // The device is being started (if the request is for the currently active hardware profile). + DICS_STOP DICS_STATE = 0x00000005 // The device is being stopped. The driver stack will be unloaded and the CSCONFIGFLAG_DO_NOT_START flag will be set for the device. +) + // DICS_FLAG specifies the scope of a device property change type DICS_FLAG uint32 const ( DICS_FLAG_GLOBAL DICS_FLAG = 0x00000001 // make change in all hardware profiles DICS_FLAG_CONFIGSPECIFIC DICS_FLAG = 0x00000002 // make change in specified profile only - DICS_FLAG_CONFIGGENERAL DICS_FLAG = 0x00000004 // 1 or more hardware profile-specific changes to follow + DICS_FLAG_CONFIGGENERAL DICS_FLAG = 0x00000004 // 1 or more hardware profile-specific changes to follow (obsolete) ) +// PropChangeParams is a structure corresponding to a DIF_PROPERTYCHANGE install function. +type PropChangeParams struct { + ClassInstallHeader ClassInstallHeader + StateChange DICS_STATE + Scope DICS_FLAG + HwProfile uint32 +} + // DI_REMOVEDEVICE specifies the scope of the device removal type DI_REMOVEDEVICE uint32 |