KsServiceBusEnumPnpRequest function

This function is intended for internal use only.

The KsServiceBusEnumPnpRequest function services IRP_MJ_PNP requests on behalf of the demand-load bus enumerator object that was created with KsCreateBusEnumObject.

Syntax

KSDDKAPI NTSTATUS KsServiceBusEnumPnpRequest(
  PDEVICE_OBJECT DeviceObject,
  PIRP           Irp
);

Parameters

DeviceObject

Pointer to the device object.

Irp

Pointer to the IRP associated with the device object.

Return Value

Returns STATUS_NOT_SUPPORTED if the IRP is not handled by KsServiceBusEnumPnpRequest or STATUS_INVALID_DEVICE_REQUEST if the device object is neither a parent or child of the demand-load bus enumerator object. Otherwise, it returns the status code for the IRP processing.

Remarks

KsServiceBusEnumPnpRequest services the following Plug and Play IRPs for an FDO or parent device:

  • IRP_MN_START_DEVICE

  • IRP_MN_QUERY_BUS_INFORMATION

  • IRP_MN_QUERY_DEVICE_RELATIONS

  • IRP_MN_QUERY_STOP_DEVICE

  • IRP_MN_QUERY_REMOVE_DEVICE

  • IRP_MN_CANCEL_STOP_DEVICE

  • IRP_MN_CANCEL_REMOVE_DEVICE

  • IRP_MN_STOP_DEVICE

  • IRP_MN_REMOVE_DEVICE

KsServiceBusEnumPnpRequest services the following Plug and Play IRPs for a PDO or child device:

  • IRP_MN_START_DEVICE

  • IRP_MN_QUERY_STOP_DEVICE

  • IRP_MN_QUERY_REMOVE_DEVICE

  • IRP_MN_STOP_DEVICE

  • IRP_MN_REMOVE_DEVICE

  • IRP_MN_QUERY_DEVICE_RELATIONS (TargetDeviceRelations)

  • IRP_MN_QUERY_PNP_DEVICE_STATE

  • IRP_MN_QUERY_ID

  • IRP_MN_QUERY_INTERFACE

  • IRP_MN_QUERY_RESOURCES

  • IRP_MN_QUERY_RESOURCE_REQUIREMENTS

  • IRP_MN_READ_CONFIG

  • IRP_MN_WRITE_CONFIG

  • IRP_MN_QUERY_CAPABILITIES

Note : KsServiceBusEnumPnpRequest does not complete the given IRP.

Requirements

   
Target Platform Universal
Header swenum.h (include Swenum.h)
Library Ks.lib

See Also

KsCreateBusEnumObject

KsIsBusEnumChildDevice

KsServiceBusEnumCreateRequest