Do you mean QueryDeviceCapabilities() in audio WaveRT miniport API?
That is the chance our audio driver may modify DEVICE_CAPABILITIES
typedef struct _DEVICE_CAPABILITIES {
USHORT Size;
USHORT Version;
ULONG DeviceD1 :1;
ULONG DeviceD2 :1;
ULONG LockSupported :1;
ULONG EjectSupported :1;
ULONG Removable :1;
ULONG DockDevice :1;
ULONG UniqueID :1;
ULONG SilentInstall :1;
ULONG RawDeviceOK :1;
ULONG SurpriseRemovalOK :1;
ULONG WakeFromD0 :1;
ULONG WakeFromD1 :1;
ULONG WakeFromD2 :1;
ULONG WakeFromD3 :1;
ULONG HardwareDisabled :1;
ULONG NonDynamic :1;
ULONG WarmEjectSupported :1;
ULONG NoDisplayInUI :1;
ULONG Reserved1 :1;
ULONG Reserved :13;
ULONG Address;
ULONG UINumber;
DEVICE_POWER_STATE DeviceState[POWER_SYSTEM_MAXIMUM];
SYSTEM_POWER_STATE SystemWake;
DEVICE_POWER_STATE DeviceWake;
ULONG D1Latency;
ULONG D2Latency;
ULONG D3Latency;
} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;
However, by reading the definitions of each field, I could find not anyone
may affect "disable" option in device manager.
Could you point out more clue?
Thanks
-Gary
"Maxim S. Shatskih" wrote:
> > Does DriverUnload(), or PnP IRPs affect disableable feature?
>
> Yes, "query capabilities" one.
>
> --
> Maxim S. Shatskih
> Windows DDK MVP
>
> http://www.storagecraft.com
>
> .
>