617{
619
623
624
628
629
631 {
632
634 {
636
637
638 DPRINT(
"Querying device relations for FDO\n");
642 break;
643
645
646
647 DPRINT(
"Querying interface for FDO\n");
655 break;
656
658
659
660 DPRINT(
"Querying ID for FDO\n");
664 break;
665
667
668
669 DPRINT(
"Querying the capabilities for the FDO\n");
672 break;
673
674 default:
675
678 break;
679 }
680
681
683 {
684
686 {
688 }
689
690
693 }
694
695
700 }
701 else
702 {
703
705
706
707
710 {
712
713
714 DPRINT(
"Start device received\n");
715
716 break;
717
719
720
721 DPRINT(
"Remove device received\n");
722
723
725 break;
726
728
729
730 DPRINT(
"Surprise removal IRP\n");
732 break;
733
735
736
737 DPRINT(
"Querying PDO relations\n");
741 break;
742
744
745
746 DPRINT(
"Querying interface for PDO\n");
754 break;
755
757
758
759 DPRINT(
"Querying the capabilities for the PDO\n");
762 break;
763
765
766
767 DPRINT(
"Querying the resources for the PDO\n");
769 break;
770
772
773
774 DPRINT(
"Querying the resource requirements for the PDO\n");
777 break;
778
780
781
782 DPRINT(
"Query the ID for the PDO\n");
786 break;
787
789
790
791 DPRINT(
"Query text for the PDO\n");
793 break;
794
796
797
798 DPRINT(
"Filter resource requirements for the PDO\n");
800 break;
801
803
804
805 DPRINT(
"Query device state for the PDO\n");
807 break;
808
810
811
812 DPRINT(
"Query bus information for the PDO\n");
814 break;
815
816 default:
817
818
821 break;
822 }
823
824
826
827
832 }
833}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
NTSTATUS NTAPI HalpQueryResources(IN PDEVICE_OBJECT DeviceObject, OUT PCM_RESOURCE_LIST *Resources)
NTSTATUS NTAPI HalpQueryResourceRequirements(IN PDEVICE_OBJECT DeviceObject, OUT PIO_RESOURCE_REQUIREMENTS_LIST *Requirements)
NTSTATUS NTAPI HalpQueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID *InterfaceType, IN USHORT Version, IN PVOID InterfaceSpecificData, IN ULONG InterfaceBufferSize, IN PINTERFACE Interface, OUT PULONG Length)
NTSTATUS NTAPI HalpQueryIdPdo(IN PDEVICE_OBJECT DeviceObject, IN BUS_QUERY_ID_TYPE IdType, OUT PUSHORT *BusQueryId)
NTSTATUS NTAPI HalpQueryIdFdo(IN PDEVICE_OBJECT DeviceObject, IN BUS_QUERY_ID_TYPE IdType, OUT PUSHORT *BusQueryId)
NTSTATUS NTAPI HalpQueryCapabilities(IN PDEVICE_OBJECT DeviceObject, OUT PDEVICE_CAPABILITIES Capabilities)
NTSTATUS NTAPI HalpQueryDeviceRelations(IN PDEVICE_OBJECT DeviceObject, IN DEVICE_RELATION_TYPE RelationType, OUT PDEVICE_RELATIONS *DeviceRelations)
#define STATUS_NOT_SUPPORTED
#define IRP_MN_SURPRISE_REMOVAL
#define IoSkipCurrentIrpStackLocation(Irp)
#define IoCompleteRequest
union _IO_STACK_LOCATION::@1586 Parameters
struct _IO_STACK_LOCATION::@4026::@4057 QueryId
struct _IO_STACK_LOCATION::@4026::@4053 DeviceCapabilities
struct _IO_STACK_LOCATION::@4026::@4052 QueryInterface
struct _IO_STACK_LOCATION::@4026::@4051 QueryDeviceRelations
#define IRP_MN_QUERY_PNP_DEVICE_STATE
#define IRP_MN_QUERY_INTERFACE
#define IRP_MN_START_DEVICE
#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_DEVICE_TEXT
#define IRP_MN_QUERY_CAPABILITIES
#define IRP_MN_QUERY_RESOURCES
#define IRP_MN_QUERY_BUS_INFORMATION