|
ReactOS 0.4.16-dev-1946-g52006dd
|
#include "wdfloader.h"
Go to the source code of this file.
Variables | |
| _In_ PCUNICODE_STRING | ServicePath |
| _In_ PCUNICODE_STRING _Out_ PLIBRARY_MODULE * | OutLibraryModule |
| PLIBRARY_MODULE | LibModule = NULL |
| LibModule | LibraryRefCount = 1 |
| LibModule | ImplicitlyLoaded = (LibraryInfo == NULL) |
| LibModule | IsBootDriver = ServiceCheckBootStart((PUNICODE_STRING)ServicePath) |
| LibModule | LoaderThread = KeGetCurrentThread() |
| status = ExInitializeResourceLite(&LibModule->ClientsListLock) | |
| LibModule ServicePath | Buffer |
| LibModule ServicePath | MaximumLength = ServicePath->MaximumLength |
| LibModule ServicePath | Length = ServicePath->Length |
| Failure | __pad0__ |
| _Out_ PLIBRARY_MODULE * | Library |
| UNICODE_STRING | imageName = { 0 } |
| PLIBRARY_MODULE | foundModule = NULL |
| Exit | __pad1__ |
| _Requires_exclusive_lock_held_ | ( | WdfLdrGlobals. | LoadedModulesListLock | ) |
Creates a new KMDF library (wdf01000)
| [in] | LibraryInfo | The library information (version and functons) |
| [in] | ServicePath | The registry path for the KMDF driver |
| _Requires_lock_held_ | ( | WdfLdrGlobals. | LoadedModulesListLock | ) |
Definition at line 515 of file library.c.
|
static |
Definition at line 382 of file library.c.
Referenced by LibraryLinkInClient(), and LibraryUnlinkClient().
| DPRINT_TRACE_ENTRY | ( | ) |
Referenced by LibraryFree(), and LibraryReleaseReference().
| DPRINT_TRACE_EXIT | ( | ) |
Referenced by if(), LibraryFree(), and LibraryReleaseReference().
| for | ( | PLIST_ENTRY | entry = WdfLdrGlobals.LoadedModulesList.Flink; entry != &WdfLdrGlobals.LoadedModulesList; entry = entry->Flink | ) |
| if | ( | !LibModule->ServicePath. | Buffer | ) |
| if | ( | !RegistryPath||! | Library | ) |
| if | ( | !ServicePath||! | OutLibraryModule | ) |
| if | ( | LibraryInfo | ) |
| if | ( | NT_SUCCESS(status) | ) |
Definition at line 130 of file library.c.
| BOOLEAN LibraryAcquireClientLock | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 365 of file library.c.
Referenced by ClassLinkInClient(), ClassUnlinkClient(), LibraryLinkInClient(), and LibraryUnlinkClient().
|
static |
Definition at line 461 of file library.c.
Referenced by LibraryUnlinkClient().
| VOID LibraryClose | ( | _Inout_ PLIBRARY_MODULE | LibModule | ) |
Dereferences KMDF library's device object.
Definition at line 195 of file library.c.
Referenced by DllUnload(), LibraryDereference(), and LibraryUnload().
| VOID LibraryDereference | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 300 of file library.c.
Referenced by LibraryFindOrLoad(), WdfRegisterLibrary(), WdfVersionBind(), and WdfVersionUnbind().
| NTSTATUS LibraryFindOrLoad | ( | _In_ PCUNICODE_STRING | ServicePath, |
| _Out_ PLIBRARY_MODULE * | LibModule | ||
| ) |
Definition at line 206 of file library.c.
Referenced by ReferenceVersion().
| VOID LibraryFree | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 13 of file library.c.
Referenced by DllUnload(), LibraryDereference(), and LibraryUnload().
| NTSTATUS LibraryLinkInClient | ( | _In_ PLIBRARY_MODULE | LibModule, |
| _In_ PUNICODE_STRING | ServicePath, | ||
| _In_ PWDF_BIND_INFO | BindInfo, | ||
| _In_ PVOID | Context, | ||
| _Out_ PCLIENT_MODULE * | OutClientModule | ||
| ) |
Create client module and add it to library client list.
| LibModule | Library that client is being added to |
| ServicePath | Client driver service registry path |
| BindInfo | Bind information |
| Context | Client context |
| OutClientModule | Created client module added to library clients list |
Definition at line 404 of file library.c.
Referenced by WdfVersionBind().
| NTSTATUS LibraryOpen | ( | _Inout_ PLIBRARY_MODULE | LibModule, |
| _In_ PCUNICODE_STRING | ObjectName | ||
| ) |
Opens KMDF library's driver object by its name and fills some library structure data.
| LibModule | Library module to update |
| ObjectName | Device object name |
Definition at line 167 of file library.c.
Referenced by WdfRegisterLibrary().
| VOID LibraryReference | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 267 of file library.c.
Referenced by WdfVersionUnbind().
| VOID LibraryReleaseClientLock | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 373 of file library.c.
Referenced by ClassLinkInClient(), ClassUnlinkClient(), LibraryLinkInClient(), and LibraryUnlinkClient().
| VOID NTAPI LibraryReleaseReference | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Release a reference to a library module.
Definition at line 280 of file library.c.
Referenced by DereferenceVersion().
| BOOLEAN LibraryUnlinkClient | ( | _In_ PLIBRARY_MODULE | LibModule, |
| _In_ PWDF_BIND_INFO | BindInfo | ||
| ) |
Definition at line 475 of file library.c.
Referenced by DereferenceVersion(), and WdfVersionUnbind().
| VOID LibraryUnload | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 328 of file library.c.
| RtlCopyMemory | ( | LibModule->ServicePath. | Buffer, |
| ServicePath-> | Buffer, | ||
| ServicePath-> | Length | ||
| ) |
| PLIBRARY_MODULE foundModule = NULL |
Definition at line 552 of file library.c.
Referenced by _Requires_lock_held_(), and for().
| UNICODE_STRING imageName = { 0 } |
Definition at line 551 of file library.c.
Referenced by _CorExeMain2(), _CorValidateImage(), for(), GetImageName(), and if().
| LibModule IsBootDriver = ServiceCheckBootStart((PUNICODE_STRING)ServicePath) |
| KeInitializeEvent & LibModule = NULL |
Definition at line 59 of file library.c.
Referenced by ClassCreate(), FindClassByServiceNameLocked(), if(), LibraryAcquireClientLock(), LibraryAddToClassListLocked(), LibraryClientDereference(), LibraryClose(), LibraryDereference(), LibraryFindClientLocked(), LibraryFindOrLoad(), LibraryFree(), LibraryLinkInClient(), LibraryOpen(), LibraryReference(), LibraryReleaseClientLock(), LibraryReleaseReference(), LibraryUnlinkClient(), LibraryUnload(), and LibraryUnloadClasses().
| LibModule LoaderThread = KeGetCurrentThread() |
| * OutLibraryModule |
| _In_ PCUNICODE_STRING ServicePath |
Definition at line 55 of file library.c.
Referenced by _Requires_lock_held_(), BuildServicePath(), CmGetSystemDriverList(), FindClassByServiceNameLocked(), GetClassServicePath(), GetImageName(), GetVersionServicePath(), if(), KmtCreateAndStartService(), KmtCreateService(), KmtFltCreateService(), KmtLoadDriver(), KmtpCreateService(), LibraryFindOrLoad(), LibraryLinkInClient(), WdfRegisterLibrary(), and WdfVersionBind().
| return status = ExInitializeResourceLite(&LibModule->ClientsListLock) |
Definition at line 86 of file library.c.
Referenced by LibraryFindOrLoad(), LibraryLinkInClient(), LibraryOpen(), and LibraryUnload().