ReactOS 0.4.16-dev-197-g92996da
|
Go to the source code of this file.
Classes | |
struct | _LOAD_UNLOAD_PARAMS |
Macros | |
#define | NDEBUG |
Typedefs | |
typedef struct _LOAD_UNLOAD_PARAMS | LOAD_UNLOAD_PARAMS |
typedef struct _LOAD_UNLOAD_PARAMS * | PLOAD_UNLOAD_PARAMS |
Variables | |
ERESOURCE | IopDriverLoadResource |
LIST_ENTRY | DriverReinitListHead |
KSPIN_LOCK | DriverReinitListLock |
PLIST_ENTRY | DriverReinitTailEntry |
PLIST_ENTRY | DriverBootReinitTailEntry |
LIST_ENTRY | DriverBootReinitListHead |
KSPIN_LOCK | DriverBootReinitListLock |
UNICODE_STRING | IopHardwareDatabaseKey |
static const WCHAR | ServicesKeyName [] = L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\" |
POBJECT_TYPE | IoDriverObjectType = NULL |
BOOLEAN | PnpSystemInit |
BOOLEAN | PnPBootDriversLoaded |
KEVENT | PiEnumerationFinished |
USHORT | IopGroupIndex |
PLIST_ENTRY | IopGroupTable |
typedef struct _LOAD_UNLOAD_PARAMS * PLOAD_UNLOAD_PARAMS |
NTSTATUS NTAPI IoAllocateDriverObjectExtension | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PVOID | ClientIdentificationAddress, | ||
IN ULONG | DriverObjectExtensionSize, | ||
OUT PVOID * | DriverObjectExtension | ||
) |
Definition at line 1826 of file driver.c.
Referenced by _IRQL_requires_max_(), DriverEntry(), HidRegisterMinidriver(), KoDriverInitialize(), KsInitializeDriver(), Mx::MxAllocateDriverObjectExtension(), NdisMRegisterMiniport(), PciIdeXInitialize(), ScsiPortInitialize(), StorPortInitialize(), StreamClassRegisterAdapter(), VideoPortInitialize(), and WdfWriteKmdfVersionToRegistry().
NTSTATUS NTAPI IoCreateDriver | ( | _In_opt_ PUNICODE_STRING | DriverName, |
_In_ PDRIVER_INITIALIZE | InitializationFunction | ||
) |
Definition at line 1576 of file driver.c.
Referenced by HaliInitPnpDriver(), IopInitializeBootDrivers(), IopInitializePlugPlayServices(), KdpInitDriver(), and WmiInitialize().
VOID NTAPI IoDeleteDriver | ( | _In_ PDRIVER_OBJECT | DriverObject | ) |
Definition at line 1756 of file driver.c.
Referenced by KdpDriverReinit().
PVOID NTAPI IoGetDriverObjectExtension | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PVOID | ClientIdentificationAddress | ||
) |
Definition at line 1904 of file driver.c.
Referenced by _Dispatch_type_(), _IRQL_requires_max_(), ClassAddDevice(), ClassDispatchPnp(), ClassGetPdoId(), ClassPnpQueryFdoRelations(), ClassPnpStartDevice(), ClassUnload(), ConDrvCreateController(), ConDrvDeleteController(), CreateClassDeviceObject(), CreateGreenFdo(), DestroyPortDriver(), GreenAddDevice(), GreenDispatch(), HidClassAddDevice(), i8042RemoveDevice(), IntVideoPortAddDevice(), IntVideoPortFilterResourceRequirements(), IntVideoPortPnPStartDevice(), KeyboardAddDevice(), KopDispatchCreate(), KsAddDevice(), Mx::MxGetDriverObjectExtension(), NdisIAddDevice(), PciIdeXAddDevice(), PciIdeXStartMiniport(), PortAddDevice(), PortUnload(), ScreenAddDevice(), ScsiPortInitialize(), SermouseAddDevice(), StorPortInitialize(), StreamClassAddDevice(), StreamClassStartDevice(), VfdCreateDevice(), VfdDeleteDevice(), VfdStoreLink(), VfdUnloadDriver(), VideoPortGetAccessRanges(), VideoPortInitialize(), and WdfDeleteKmdfVersionFromRegistry().
Definition at line 77 of file driver.c.
Referenced by IopCreateObjectTypes().
|
static |
Displays a driver-loading message in SOS mode.
Definition at line 328 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and IopLoadDriver().
NTSTATUS IopDoLoadUnloadDriver | ( | _In_opt_ PUNICODE_STRING | RegistryPath, |
_Inout_ PDRIVER_OBJECT * | DriverObject | ||
) |
Process load and unload driver operations. This is mostly for NtLoadDriver and NtUnloadDriver, because their code should run inside PsInitialSystemProcess.
[in] | RegistryPath | The registry path |
DriverObject | The driver object |
Definition at line 2099 of file driver.c.
Referenced by IopUnloadDriver(), and NtLoadDriver().
PDEVICE_OBJECT IopGetDeviceObjectFromDeviceInstance | ( | PUNICODE_STRING | DeviceInstance | ) |
Definition at line 206 of file plugplay.c.
Referenced by IopInitializeBuiltinDriver().
NTSTATUS IopGetDriverNames | ( | _In_ HANDLE | ServiceHandle, |
_Out_ PUNICODE_STRING | DriverName, | ||
_Out_opt_ PUNICODE_STRING | ServiceName | ||
) |
Definition at line 123 of file driver.c.
Referenced by IopInitializeDriverModule(), and PiAttachFilterDriversCallback().
Definition at line 1023 of file driver.c.
Referenced by IoInitSystem().
|
static |
Definition at line 807 of file driver.c.
Referenced by IopInitializeBootDrivers().
NTSTATUS IopInitializeDriverModule | ( | _In_ PLDR_DATA_TABLE_ENTRY | ModuleObject, |
_In_ HANDLE | ServiceHandle, | ||
_Out_ PDRIVER_OBJECT * | OutDriverObject, | ||
_Out_ NTSTATUS * | DriverEntryStatus | ||
) |
Initialize a loaded driver.
[in] | ModuleObject | Module object representing the driver. It can be retrieved by IopLoadServiceModule. Freed on failure, so in a such case this should not be accessed anymore |
[in] | ServiceHandle | Handle to a driver's CCS/Services/<ServiceName> key |
[out] | DriverObject | This contains the driver object if it was created (even with unsuccessfull result) |
[out] | DriverEntryStatus | This contains the status value returned by the driver's DriverEntry routine (will not be valid of the return value is not STATUS_SUCCESS or STATUS_FAILED_DRIVER_ENTRY) |
Definition at line 443 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and IopLoadDriver().
Definition at line 1210 of file driver.c.
Referenced by IoInitSystem().
NTSTATUS NTAPI IopInvalidDeviceRequest | ( | PDEVICE_OBJECT | DeviceObject, |
PIRP | Irp | ||
) |
Definition at line 65 of file driver.c.
Referenced by IoCreateDriver(), and IopInitializeDriverModule().
NTSTATUS IopLoadDriver | ( | _In_ HANDLE | ServiceHandle, |
_Out_ PDRIVER_OBJECT * | DriverObject | ||
) |
Definition at line 1938 of file driver.c.
Referenced by IopLoadUnloadDriverWorker(), and PiAttachFilterDriversCallback().
Definition at line 2053 of file driver.c.
Referenced by IopDoLoadUnloadDriver().
NTSTATUS FASTCALL IopNormalizeImagePath | ( | _Inout_ _When_(return >=0, _At_(ImagePath->Buffer, _Post_notnull_ __drv_allocatesMem(Mem))) PUNICODE_STRING | ImagePath, |
_In_ PUNICODE_STRING | ServiceName | ||
) |
Definition at line 369 of file driver.c.
Referenced by IopLoadDriver(), and IopUnloadDriver().
Definition at line 1532 of file driver.c.
Referenced by IoInitSystem().
Definition at line 1496 of file driver.c.
Referenced by IoInitSystem(), and IopInitializeDriverModule().
|
static |
Determines whether String1 may be a suffix of String2.
Definition at line 280 of file driver.c.
Referenced by IopDisplayLoadingMessage().
NTSTATUS NTAPI IopUnloadDriver | ( | PUNICODE_STRING | DriverServiceName, |
BOOLEAN | UnloadPnpDrivers | ||
) |
Definition at line 1269 of file driver.c.
Referenced by NtUnloadDriver().
VOID NTAPI IoRegisterBootDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1768 of file driver.c.
Referenced by DriverEntry(), KdpDriverEntry(), and KdpDriverReinit().
VOID NTAPI IoRegisterDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1797 of file driver.c.
Referenced by DiskBootDriverReinit(), DriverEntry(), and KdpDriverReinit().
NTSTATUS NTAPI LdrProcessDriverModule | ( | PLDR_DATA_TABLE_ENTRY | LdrEntry, |
PUNICODE_STRING | FileName, | ||
PLDR_DATA_TABLE_ENTRY * | ModuleObject | ||
) |
Definition at line 722 of file driver.c.
NTSTATUS NTAPI MiResolveImageReferences | ( | IN PVOID | ImageBase, |
IN PUNICODE_STRING | ImageFileDirectory, | ||
IN PUNICODE_STRING NamePrefix | OPTIONAL, | ||
OUT PCHAR * | MissingApi, | ||
OUT PWCHAR * | MissingDriver, | ||
OUT PLOAD_IMPORTS * | LoadImports | ||
) |
Definition at line 1034 of file sysldr.c.
Referenced by LdrProcessDriverModule(), and MmLoadSystemImage().
NTSTATUS NTAPI NtLoadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 2147 of file driver.c.
Referenced by NtStartDriver(), ScmLoadDriver(), and wmain().
NTSTATUS NTAPI NtUnloadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 2208 of file driver.c.
Referenced by LoadVia_SystemExtendServiceTableInformation(), LoadVia_SystemLoadGdiDriverInformation(), NtStopDriver(), ScmUnloadDriver(), START_TEST(), and wmain().
LIST_ENTRY DriverBootReinitListHead |
Definition at line 27 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeBootDrivers(), and IoRegisterBootDriverReinitialization().
KSPIN_LOCK DriverBootReinitListLock |
Definition at line 28 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeBootDrivers(), and IoRegisterBootDriverReinitialization().
PLIST_ENTRY DriverBootReinitTailEntry |
LIST_ENTRY DriverReinitListHead |
Definition at line 22 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeDrivers(), and IoRegisterDriverReinitialization().
KSPIN_LOCK DriverReinitListLock |
Definition at line 23 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeDrivers(), and IoRegisterDriverReinitialization().
PLIST_ENTRY DriverReinitTailEntry |
POBJECT_TYPE IoDriverObjectType = NULL |
Definition at line 34 of file driver.c.
Referenced by IoCreateDriver(), IopCreateObjectTypes(), IopGetDriverPathInformation(), IopInitializeDriverModule(), IopUnloadDriver(), PiAttachFilterDriversCallback(), and TestObjectTypes().
ERESOURCE IopDriverLoadResource |
Definition at line 20 of file driver.c.
Referenced by IoInitSystem(), and IopLoadDriver().
USHORT IopGroupIndex |
Definition at line 40 of file driver.c.
Referenced by IopInitializeBootDrivers().
PLIST_ENTRY IopGroupTable |
Definition at line 41 of file driver.c.
Referenced by IopInitializeBootDrivers().
UNICODE_STRING IopHardwareDatabaseKey |
|
extern |
Definition at line 50 of file devaction.c.
Referenced by IopReinitializeBootDrivers().
|
extern |
Definition at line 20 of file pnpinit.c.
Referenced by IopInitializeBootDrivers().
|
extern |
Definition at line 17 of file iomgr.c.
Referenced by IopInitializeDriverModule().
|
static |
Definition at line 32 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and MmCallDllInitialize().