PNP_VETO_TYPE enumeration

If the PnP manager rejects a request to perform an operation, the PNP_VETO_TYPE enumeration is used to identify the reason for the rejection.

Syntax

typedef enum _PNP_VETO_TYPE {
  PNP_VetoTypeUnknown,
  PNP_VetoLegacyDevice,
  PNP_VetoPendingClose,
  PNP_VetoWindowsApp,
  PNP_VetoWindowsService,
  PNP_VetoOutstandingOpen,
  PNP_VetoDevice,
  PNP_VetoDriver,
  PNP_VetoIllegalDeviceRequest,
  PNP_VetoInsufficientPower,
  PNP_VetoNonDisableable,
  PNP_VetoLegacyDriver,
  PNP_VetoInsufficientRights,
  PNP_VetoAlreadyRemoved
} PNP_VETO_TYPE, *PPNP_VETO_TYPE;

Constants

PNP_VetoTypeUnknown The specified operation was rejected for an unknown reason.
PNP_VetoLegacyDevice The device does not support the specified PnP operation.
PNP_VetoPendingClose The specified operation cannot be completed because of a pending close operation.
PNP_VetoWindowsApp A Microsoft Win32 application vetoed the specified operation.
PNP_VetoWindowsService A Win32 service vetoed the specified operation.
PNP_VetoOutstandingOpen The requested operation was rejected because of outstanding open handles.
PNP_VetoDevice The device supports the specified operation, but the device rejected the operation.
PNP_VetoDriver The driver supports the specified operation, but the driver rejected the operation.
PNP_VetoIllegalDeviceRequest The device does not support the specified operation.
PNP_VetoInsufficientPower There is insufficient power to perform the requested operation.
PNP_VetoNonDisableable The device cannot be disabled.
PNP_VetoLegacyDriver The driver does not support the specified PnP operation.
PNP_VetoInsufficientRights The caller has insufficient privileges to complete the operation.

Remarks

Text strings are associated with most of the veto types, and a function that receives a veto type value can typically request to also receive the value's associated text string. The following table identifies the text string associated with each value.

pVeto type value Text String
PNP_VetoTypeUnknown None.
PNP_VetoLegacyDevice A device instance path.
PNP_VetoPendingClose A device instance path.
PNP_VetoWindowsApp An application module name.
PNP_VetoWindowsService A Windows service name.
PNP_VetoOutstandingOpen A device instance path.
PNP_VetoDevice A device instance path.
PNP_VetoDriver A driver name.
PNP_VetoIllegalDeviceRequest A device instance path.
PNP_VetoInsufficientPower None.
PNP_VetoNonDisableable A device instance path.
PNP_VetoLegacyDriver A Windows service name.

Requirements

   
Header cfg.h (include Cfgmgr32.h)

See also

CM_Query_And_Remove_SubTree

CM_Query_And_Remove_SubTree_Ex

CM_Request_Device_Eject

CM_Request_Device_Eject_Ex