58#define SERENUM_TAG 'ereS'
61#define FLAG_ENUMERATION_DONE 0x01
DRIVER_INITIALIZE DriverEntry
DRIVER_DISPATCH ForwardIrpAndForget
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
_Out_ _Inout_ POEM_STRING DestinationString
struct _FDO_DEVICE_EXTENSION FDO_DEVICE_EXTENSION
NTSTATUS SerenumInitMultiSzString(OUT PUNICODE_STRING Destination,...)
DRIVER_ADD_DEVICE SerenumAddDevice
NTSTATUS SerenumFdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct _FDO_DEVICE_EXTENSION * PFDO_DEVICE_EXTENSION
NTSTATUS DuplicateUnicodeString(IN ULONG Flags, IN PCUNICODE_STRING SourceString, OUT PUNICODE_STRING DestinationString)
struct _PDO_DEVICE_EXTENSION PDO_DEVICE_EXTENSION
NTSTATUS SerenumDetectPnpDevice(IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT LowerDevice)
struct _PDO_DEVICE_EXTENSION * PPDO_DEVICE_EXTENSION
NTSTATUS NTAPI ForwardIrpToAttachedFdoAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct _COMMON_DEVICE_EXTENSION COMMON_DEVICE_EXTENSION
NTSTATUS SerenumPdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS SerenumDetectLegacyDevice(IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT LowerDevice)
NTSTATUS NTAPI ForwardIrpToLowerDeviceAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct _COMMON_DEVICE_EXTENSION * PCOMMON_DEVICE_EXTENSION
SERENUM_DEVICE_STATE PnpState
UNICODE_STRING SerenumInterfaceName
PDEVICE_OBJECT LowerDevice
PDEVICE_OBJECT AttachedPdo[2]
COMMON_DEVICE_EXTENSION Common
IO_REMOVE_LOCK RemoveLock
UNICODE_STRING InstanceId
UNICODE_STRING DeviceDescription
UNICODE_STRING HardwareIds
COMMON_DEVICE_EXTENSION Common
UNICODE_STRING CompatibleIds
PDEVICE_OBJECT AttachedFdo
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ ULONG Flags