868{
870
872
874 {
875 DPRINT(
"%s(%p, %p) CSN %u, LDN %u, Minor - %X\n",
879 PdoExt->IsaPnpDevice->CSN,
880 PdoExt->IsaPnpDevice->LDN,
882 }
883 else
884 {
885 DPRINT(
"%s(%p, %p) ReadPort, Minor - %X\n",
890 }
891
893 {
895 {
897 {
898 IsaHwWakeDevice(
PdoExt->IsaPnpDevice);
899
904 {
905 IsaHwActivateDevice(
PdoExt->FdoExt,
PdoExt->IsaPnpDevice);
906 }
907 else
908 {
909 DPRINT1(
"Failed to configure CSN %u, LDN %u with status 0x%08lx\n",
911 }
912
913 IsaHwWaitForKey();
914 }
915 else
916 {
919 }
920
923 break;
924 }
925
927 {
929 {
930 IsaHwWakeDevice(
PdoExt->IsaPnpDevice);
931 IsaHwDeactivateDevice(
PdoExt->IsaPnpDevice);
932
933 IsaHwWaitForKey();
934 }
935 else
936 {
937 PdoExt->Flags &= ~ISAPNP_READ_PORT_ALLOW_FDO_SCAN;
938 }
939
941
944 break;
945 }
946
948 {
949 if (
PdoExt->SpecialFiles > 0)
953 else
955
956 break;
957 }
958
960 {
961 if (
PdoExt->SpecialFiles > 0)
963 else
965 break;
966 }
967
970 break;
971
974 break;
975
979 else
981 break;
982
986 else
988 break;
989
992 break;
993
996 break;
997
1000 break;
1001
1005 else
1007 break;
1008
1012 break;
1013
1016 break;
1017
1020 break;
1021
1024 break;
1025
1029 break;
1030
1031 default:
1033 break;
1034 }
1035
1038
1040}
static NTSTATUS IsaPdoQueryDeviceUsageNotification(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoQueryDeviceText(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoQueryCapabilities(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaReadPortQueryId(_Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaReadPortRemoveDevice(_In_ PISAPNP_PDO_EXTENSION PdoExt, _In_ BOOLEAN FinalRemove)
static NTSTATUS IsaPdoQueryDeviceRelations(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoQueryResourceRequirements(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoQueryBusInformation(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp)
static NTSTATUS IsaPdoQueryResources(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoQueryId(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoStartReadPort(_In_ PISAPNP_PDO_EXTENSION PdoExt, _In_ PCM_RESOURCE_LIST ResourceList)
static NTSTATUS IsaPdoQueryPnpDeviceState(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp)
static NTSTATUS IsaPdoFilterResourceRequirements(_In_ PISAPNP_PDO_EXTENSION PdoExt, _Inout_ PIRP Irp, _In_ PIO_STACK_LOCATION IrpSp)
static NTSTATUS IsaPdoRemoveDevice(_In_ PISAPNP_PDO_EXTENSION PdoExt, _In_ BOOLEAN FinalRemove)
#define NT_SUCCESS(StatCode)
NTSTATUS IsaHwConfigureDevice(_In_ PISAPNP_FDO_EXTENSION FdoExt, _In_ PISAPNP_LOGICAL_DEVICE LogicalDevice, _In_ PCM_RESOURCE_LIST Resources)
#define ISAPNP_READ_PORT_NEED_REBALANCE
The I/O resource requirements have changed.
#define IRP_MN_SURPRISE_REMOVAL
#define IoCompleteRequest
#define STATUS_RESOURCE_REQUIREMENTS_CHANGED
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
COMMON_DEVICE_EXTENSION Common
#define STATUS_DEVICE_BUSY
#define IRP_MN_CANCEL_STOP_DEVICE
#define IRP_MN_QUERY_PNP_DEVICE_STATE
#define IRP_MN_START_DEVICE
#define IRP_MN_DEVICE_USAGE_NOTIFICATION
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS
#define IRP_MN_REMOVE_DEVICE
#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS
#define IRP_MN_QUERY_DEVICE_RELATIONS
#define IRP_MN_QUERY_STOP_DEVICE
#define IRP_MN_QUERY_DEVICE_TEXT
#define IRP_MN_QUERY_CAPABILITIES
#define IRP_MN_QUERY_RESOURCES
#define IRP_MN_CANCEL_REMOVE_DEVICE
#define IRP_MN_STOP_DEVICE
#define IRP_MN_QUERY_BUS_INFORMATION
#define IRP_MN_QUERY_REMOVE_DEVICE