12const GUID KSMEDIUMSETID_Standard = {0x4747B320L, 0x62CE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}};
65 return PoCallDriver(PnpDeviceObject,
Irp);
128 DPRINT(
"SwDispatchPnp KsServiceBusEnumPnpRequest Status %x\n",
Status);
141 DPRINT(
"SwDispatchPnp KsGetBusEnumPnpDeviceObject Status %x\n",
Status);
168 Irp->IoStatus.Information = 0;
270 DPRINT(
"SwDispatchDeviceControl IOCTL_SWENUM_INSTALL_INTERFACE %x\n",
Status);
276 DPRINT(
"SwDispatchDeviceControl IOCTL_SWENUM_REMOVE_INTERFACE %x\n",
Status);
283 DPRINT(
"SwDispatchDeviceControl IOCTL_SWENUM_GET_BUS_ID %x\n",
Status);
369 DPRINT(
"SWENUM AddDevice\n");
428 DPRINT(
"SWENUM loaded\n");
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
PDEVICE_OBJECT PhysicalDeviceObject
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
DRIVER_INITIALIZE DriverEntry
KSDDKAPI NTSTATUS NTAPI KsInstallBusEnumInterface(PIRP Irp)
KSDDKAPI NTSTATUS NTAPI KsIsBusEnumChildDevice(IN PDEVICE_OBJECT DeviceObject, OUT PBOOLEAN ChildDevice)
KSDDKAPI NTSTATUS NTAPI KsGetBusEnumPnpDeviceObject(IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT *PnpDeviceObject)
KSDDKAPI NTSTATUS NTAPI KsGetBusEnumIdentifier(IN PIRP Irp)
KSDDKAPI NTSTATUS NTAPI KsServiceBusEnumPnpRequest(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp)
KSDDKAPI NTSTATUS NTAPI KsServiceBusEnumCreateRequest(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp)
KSDDKAPI NTSTATUS NTAPI KsRemoveBusEnumInterface(IN PIRP Irp)
KSDDKAPI NTSTATUS NTAPI KsCreateBusEnumObject(IN PWCHAR BusIdentifier, IN PDEVICE_OBJECT BusDeviceObject, IN PDEVICE_OBJECT PhysicalDeviceObject, IN PDEVICE_OBJECT PnpDeviceObject OPTIONAL, IN REFGUID InterfaceGuid OPTIONAL, IN PWCHAR ServiceRelativePath OPTIONAL)
#define KSMEDIUMSETID_Standard
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT * FunctionalDeviceObject
#define IoSkipCurrentIrpStackLocation(Irp)
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
#define IoCompleteRequest
VOID NTAPI PoStartNextPowerIrp(IN PIRP Irp)
#define FILE_DEVICE_BUS_EXTENDER
#define IRP_MJ_DEVICE_CONTROL
struct _IO_STACK_LOCATION::@1575::@1576 DeviceIoControl
union _IO_STACK_LOCATION::@1575 Parameters
NTSTATUS NTAPI SwDispatchDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI SwDispatchPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI SwDispatchSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI SwDispatchPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI SwDispatchCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI SwAddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject)
VOID NTAPI SwUnload(IN PDRIVER_OBJECT DriverObject)
NTSTATUS NTAPI SwDispatchClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define IOCTL_SWENUM_GET_BUS_ID
#define IOCTL_SWENUM_REMOVE_INTERFACE
#define IOCTL_SWENUM_INSTALL_INTERFACE
#define STATUS_INVALID_PARAMETER
#define STATUS_OBJECT_NAME_NOT_FOUND
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
#define IRP_MN_QUERY_PNP_DEVICE_STATE
#define PNP_DEVICE_NOT_DISABLEABLE
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS
#define IRP_MN_REMOVE_DEVICE
#define IRP_MJ_SYSTEM_CONTROL
#define IRP_MN_QUERY_RESOURCES
#define IRP_MN_QUERY_POWER