#include <wdmguid.h>
/* Memory Tags */
-#define TAG_GLOBAL_DATA 'DGtS'
-#define TAG_INIT_DATA 'DItS'
+#define TAG_GLOBAL_DATA 'DGtS'
+#define TAG_INIT_DATA 'DItS'
+#define TAG_MINIPORT_DATA 'DMtS'
+#define TAG_ACCRESS_RANGE 'RAtS'
typedef enum
{
LIST_ENTRY InitDataListHead;
} DRIVER_OBJECT_EXTENSION, *PDRIVER_OBJECT_EXTENSION;
+typedef struct _MINIPORT_DEVICE_EXTENSION
+{
+ struct _MINIPORT *Miniport;
+ UCHAR HwDeviceExtension[0];
+} MINIPORT_DEVICE_EXTENSION, *PMINIPORT_DEVICE_EXTENSION;
+
typedef struct _MINIPORT
{
struct _FDO_DEVICE_EXTENSION *DeviceExtension;
PHW_INITIALIZATION_DATA InitData;
+ PORT_CONFIGURATION_INFORMATION PortConfig;
+ PMINIPORT_DEVICE_EXTENSION MiniportExtension;
} MINIPORT, *PMINIPORT;
typedef struct _FDO_DEVICE_EXTENSION
PDEVICE_OBJECT Device;
PDEVICE_OBJECT LowerDevice;
PDEVICE_OBJECT PhysicalDevice;
-
PDRIVER_OBJECT_EXTENSION DriverExtension;
-
DEVICE_STATE PnpState;
LIST_ENTRY AdapterListEntry;
-
MINIPORT Miniport;
-
+ ULONG BusNumber;
+ ULONG SlotNumber;
} FDO_DEVICE_EXTENSION, *PFDO_DEVICE_EXTENSION;
/* miniport.c */
-VOID
+NTSTATUS
MiniportInitialize(
_In_ PMINIPORT Miniport,
_In_ PFDO_DEVICE_EXTENSION DeviceExtension,