PFILE_BASIC_INFORMATION BasicInformation;
PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
CREATE_FILE_TYPE CreateFileType;
- PVOID MailslotOrPipeParameters;
+ PVOID ExtraCreateParameters;
BOOLEAN Override;
BOOLEAN QueryOnly;
BOOLEAN DeleteOnly;
BOOLEAN FullAttributes;
- PDUMMY_FILE_OBJECT DummyFileObject;
+ PDUMMY_FILE_OBJECT LocalFileObject;
+ BOOLEAN TraversedMountPoint;
ULONG InternalFlags;
- //PIO_DRIVER_CREATE_CONTEXT DriverCreateContext; Vista only, needs ROS DDK Update
+ PDEVICE_OBJECT TopDeviceObjectHint;
} OPEN_PACKET, *POPEN_PACKET;
//
ULONG Tag;
ULONG ErrorControl;
} BOOT_DRIVER_NODE, *PBOOT_DRIVER_NODE;
-
+
//
// List of Bus Type GUIDs
//
NTSTATUS
NTAPI
-IopCreateResourceListFromRequirements(
+IopFixupResourceListWithRequirements(
IN PIO_RESOURCE_REQUIREMENTS_LIST RequirementsList,
OUT PCM_RESOURCE_LIST *ResourceList
);
NTAPI
PipCallDriverAddDevice(
IN PDEVICE_NODE DeviceNode,
- IN BOOLEAN LoadDriver,
+ IN BOOLEAN LoadDriver,
IN PDRIVER_OBJECT DriverObject
);
IopInitiatePnpIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG MinorFunction,
+ IN UCHAR MinorFunction,
IN PIO_STACK_LOCATION Stack
);
IN ULONG RegSzLength,
OUT PUSHORT StringLength OPTIONAL
);
-
+
//
// Initialization Routines
//
IN PIRP Irp
);
+PIRP
+NTAPI
+IopAllocateIrpMustSucceed(
+ IN CCHAR StackSize
+);
+
//
// Shutdown routines
//
NTSTATUS
PnpRootCreateDevice(
IN PUNICODE_STRING ServiceName,
+ IN OPTIONAL PDRIVER_OBJECT DriverObject,
OUT PDEVICE_OBJECT *PhysicalDeviceObject,
OUT OPTIONAL PUNICODE_STRING FullInstancePath
);
+NTSTATUS
+PnpRootRegisterDevice(
+ IN PDEVICE_OBJECT DeviceObject);
+
//
// Driver Routines
//
IopCreateDriver(IN PUNICODE_STRING DriverName OPTIONAL,
IN PDRIVER_INITIALIZE InitializationFunction,
IN PUNICODE_STRING RegistryPath,
+ IN PCUNICODE_STRING ServiceName,
PLDR_DATA_TABLE_ENTRY ModuleObject,
OUT PDRIVER_OBJECT *pDriverObject);