ReactOS
0.4.15-dev-1618-g9c8ed68
|
#include <ntoskrnl.h>
#include <debug.h>
Go to the source code of this file.
Classes | |
struct | _LOAD_UNLOAD_PARAMS |
Macros | |
#define | NDEBUG |
#define | TAG_RTLREGISTRY 'vrqR' |
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 | ExpInTextModeSetup |
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 1663 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 1414 of file driver.c.
Referenced by HaliInitPnpDriver(), IopInitializeBootDrivers(), IopInitializePlugPlayServices(), and WmiInitialize().
VOID NTAPI IoDeleteDriver | ( | IN PDRIVER_OBJECT | DriverObject | ) |
PVOID NTAPI IoGetDriverObjectExtension | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PVOID | ClientIdentificationAddress | ||
) |
Definition at line 1741 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(), PciIdeXFdoStartDevice(), PortAddDevice(), PortUnload(), ScreenAddDevice(), ScsiPortInitialize(), SermouseAddDevice(), StorPortInitialize(), StreamClassAddDevice(), StreamClassStartDevice(), VfdCreateDevice(), VfdDeleteDevice(), VfdStoreLink(), VfdUnloadDriver(), VideoPortGetAccessRanges(), VideoPortInitialize(), and WdfDeleteKmdfVersionFromRegistry().
Definition at line 79 of file driver.c.
Referenced by IopCreateObjectTypes().
VOID FASTCALL IopDisplayLoadingMessage | ( | PUNICODE_STRING | ServiceName | ) |
Definition at line 290 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 1935 of file driver.c.
Referenced by IopUnloadDriver(), and NtLoadDriver().
NTSTATUS IopGetDriverNames | ( | _In_ HANDLE | ServiceHandle, |
_Out_ PUNICODE_STRING | DriverName, | ||
_Out_opt_ PUNICODE_STRING | ServiceName | ||
) |
Definition at line 125 of file driver.c.
Referenced by IopInitializeDriverModule(), and PiAttachFilterDriversCallback().
Definition at line 882 of file driver.c.
Referenced by IoInitSystem().
NTSTATUS NTAPI IopInitializeBuiltinDriver | ( | IN PLDR_DATA_TABLE_ENTRY | BootLdrEntry | ) |
Definition at line 749 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 403 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and IopLoadDriver().
Definition at line 1055 of file driver.c.
Referenced by IoInitSystem().
NTSTATUS NTAPI IopInvalidDeviceRequest | ( | PDEVICE_OBJECT | DeviceObject, |
PIRP | Irp | ||
) |
Definition at line 67 of file driver.c.
Referenced by IoCreateDriver(), and IopInitializeDriverModule().
NTSTATUS IopLoadDriver | ( | _In_ HANDLE | ServiceHandle, |
_Out_ PDRIVER_OBJECT * | DriverObject | ||
) |
Definition at line 1775 of file driver.c.
Referenced by IopLoadUnloadDriverWorker(), and PiAttachFilterDriversCallback().
Definition at line 1889 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 329 of file driver.c.
Referenced by IopLoadDriver(), and IopUnloadDriver().
Definition at line 1370 of file driver.c.
Referenced by IoInitSystem().
Definition at line 1334 of file driver.c.
Referenced by IoInitSystem(), and IopInitializeDriverModule().
BOOLEAN NTAPI IopSuffixUnicodeString | ( | IN PCUNICODE_STRING | String1, |
IN PCUNICODE_STRING | String2 | ||
) |
NTSTATUS NTAPI IopUnloadDriver | ( | PUNICODE_STRING | DriverServiceName, |
BOOLEAN | UnloadPnpDrivers | ||
) |
Definition at line 1107 of file driver.c.
Referenced by NtUnloadDriver().
VOID NTAPI IoRegisterBootDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1605 of file driver.c.
Referenced by _Function_class_(), and DriverEntry().
VOID NTAPI IoRegisterDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1634 of file driver.c.
Referenced by DiskBootDriverReinit(), and DriverEntry().
NTSTATUS NTAPI LdrProcessDriverModule | ( | PLDR_DATA_TABLE_ENTRY | LdrEntry, |
PUNICODE_STRING | FileName, | ||
PLDR_DATA_TABLE_ENTRY * | ModuleObject | ||
) |
Definition at line 667 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 1001 of file sysldr.c.
Referenced by LdrProcessDriverModule(), and MmLoadSystemImage().
NTSTATUS NTAPI NtLoadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 1983 of file driver.c.
Referenced by NtStartDriver(), ScmLoadDriver(), and wmain().
NTSTATUS NTAPI NtUnloadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 2044 of file driver.c.
Referenced by LoadVia_SystemExtendServiceTableInformation(), LoadVia_SystemLoadGdiDriverInformation(), NtStopDriver(), ScmUnloadDriver(), START_TEST(), and wmain().
LIST_ENTRY DriverBootReinitListHead |
Definition at line 26 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeBootDrivers(), and IoRegisterBootDriverReinitialization().
KSPIN_LOCK DriverBootReinitListLock |
Definition at line 27 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeBootDrivers(), and IoRegisterBootDriverReinitialization().
PLIST_ENTRY DriverBootReinitTailEntry |
LIST_ENTRY DriverReinitListHead |
Definition at line 21 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeDrivers(), and IoRegisterDriverReinitialization().
KSPIN_LOCK DriverReinitListLock |
Definition at line 22 of file driver.c.
Referenced by IoInitSystem(), IopReinitializeDrivers(), and IoRegisterDriverReinitialization().
PLIST_ENTRY DriverReinitTailEntry |
BOOLEAN ExpInTextModeSetup |
Definition at line 67 of file init.c.
Referenced by CmpGetRegistryPath(), DisplayBootBitmap(), ExpInitializeExecutive(), and IopDisplayLoadingMessage().
POBJECT_TYPE IoDriverObjectType = NULL |
Definition at line 33 of file driver.c.
Referenced by IoCreateDriver(), IopCreateObjectTypes(), IopGetDriverPathInformation(), IopInitializeDriverModule(), IopUnloadDriver(), PiAttachFilterDriversCallback(), and TestObjectTypes().
ERESOURCE IopDriverLoadResource |
Definition at line 19 of file driver.c.
Referenced by IoInitSystem(), and IopLoadDriver().
USHORT IopGroupIndex |
Definition at line 42 of file driver.c.
Referenced by IopInitializeBootDrivers().
PLIST_ENTRY IopGroupTable |
Definition at line 43 of file driver.c.
Referenced by IopInitializeBootDrivers().
UNICODE_STRING IopHardwareDatabaseKey |
KEVENT PiEnumerationFinished |
Definition at line 50 of file devaction.c.
Referenced by IopReinitializeBootDrivers().
BOOLEAN PnPBootDriversLoaded |
Definition at line 26 of file pnpinit.c.
Referenced by IopInitializeBootDrivers().
BOOLEAN PnpSystemInit |
Definition at line 17 of file iomgr.c.
Referenced by IopInitializeDriverModule().
|
static |
Definition at line 31 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and MmCallDllInitialize().