]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
setupapi: define PropChangeParams struct
authorSimon Rozman <simon@rozman.si>
Mon, 3 Jun 2019 12:12:50 +0000 (14:12 +0200)
committerSimon Rozman <simon@rozman.si>
Tue, 4 Jun 2019 12:45:23 +0000 (14:45 +0200)
This structure is required for calling DIF_PROPERTYCHANGE installer
class.

Signed-off-by: Simon Rozman <simon@rozman.si>
tun/wintun/setupapi/types_windows.go

index 287ea52125fa1c5e1089ca4f87b671ac3f01b52d..cf2b71874858fea1361f4e8571c032490323065d 100644 (file)
@@ -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