ReactOS
0.4.15-dev-4853-g3a72a52
|
#include <ntoskrnl.h>
#include <debug.h>
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 | 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 1797 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 1548 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 1875 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 77 of file driver.c.
Referenced by IopCreateObjectTypes().
VOID FASTCALL IopDisplayLoadingMessage | ( | PUNICODE_STRING | ServiceName | ) |
Definition at line 315 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 2070 of file driver.c.
Referenced by IopUnloadDriver(), and NtLoadDriver().
PDEVICE_OBJECT IopGetDeviceObjectFromDeviceInstance | ( | PUNICODE_STRING | DeviceInstance | ) |
Definition at line 122 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 1001 of file driver.c.
Referenced by IoInitSystem().
|
static |
Definition at line 792 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 428 of file driver.c.
Referenced by IopInitializeBuiltinDriver(), and IopLoadDriver().
Definition at line 1182 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 1909 of file driver.c.
Referenced by IopLoadUnloadDriverWorker(), and PiAttachFilterDriversCallback().
Definition at line 2024 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 354 of file driver.c.
Referenced by IopLoadDriver(), and IopUnloadDriver().
Definition at line 1504 of file driver.c.
Referenced by IoInitSystem().
Definition at line 1468 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 1241 of file driver.c.
Referenced by NtUnloadDriver().
VOID NTAPI IoRegisterBootDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1739 of file driver.c.
Referenced by DriverEntry().
VOID NTAPI IoRegisterDriverReinitialization | ( | IN PDRIVER_OBJECT | DriverObject, |
IN PDRIVER_REINITIALIZE | ReinitRoutine, | ||
IN PVOID | Context | ||
) |
Definition at line 1768 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 707 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 1000 of file sysldr.c.
Referenced by LdrProcessDriverModule(), and MmLoadSystemImage().
NTSTATUS NTAPI NtLoadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 2118 of file driver.c.
Referenced by NtStartDriver(), ScmLoadDriver(), and wmain().
NTSTATUS NTAPI NtUnloadDriver | ( | IN PUNICODE_STRING | DriverServiceName | ) |
Definition at line 2179 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 69 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 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 |
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().