|
ReactOS 0.4.16-dev-1946-g52006dd
|


Go to the source code of this file.
Classes | |
| struct | _WDF_LDR_GLOBALS |
| struct | _WDFLDR_DIAGS |
| struct | _LIBRARY_MODULE |
| struct | _WDF_LOADER_INTERFACE_DIAGNOSTIC |
| struct | _WDF_LOADER_INTERFACE_CLASS_BIND |
| struct | _CLIENT_MODULE |
| struct | _CLASS_MODULE |
| struct | _CLASS_CLIENT_MODULE |
Macros | |
| #define | WDFLDR_TAG 'LfdW' |
| #define | __PrintUnfiltered(...) DbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, __VA_ARGS__) |
| #define | DPRINT(_x_) |
| #define | DPRINT_VERBOSE(_x_) |
| #define | DPRINT_ERROR(_x_) |
| #define | DPRINT_TRACE_ENTRY() |
| #define | DPRINT_TRACE_EXIT() |
| #define | __DBGPRINT(_x_) |
| #define | DIAGFLAG_ENABLED 0x00000001 |
| #define | DIAGFLAG_VERBOSE_LOGGING 0x00000002 |
| #define | DIAGFLAG_TRACE_FUNCTION_ENTRY 0x00000004 |
| #define | DIAGFLAG_TRACE_FUNCTION_EXIT 0x00000008 |
| #define | DIAGFLAG_LOG_ERRORS 0x00000010 |
| #define | DIAGFLAG_LOG_WARNINGS 0x00000020 |
Variables | |
| WDFLDR_DIAGS | WdfLdrDiags |
| WDF_LDR_GLOBALS | WdfLdrGlobals |
| #define __DBGPRINT | ( | _x_ | ) |
Definition at line 62 of file wdfloader.h.
| #define __PrintUnfiltered | ( | ... | ) | DbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, __VA_ARGS__) |
Definition at line 20 of file wdfloader.h.
| #define DIAGFLAG_ENABLED 0x00000001 |
Definition at line 79 of file wdfloader.h.
| #define DIAGFLAG_LOG_ERRORS 0x00000010 |
Definition at line 83 of file wdfloader.h.
| #define DIAGFLAG_LOG_WARNINGS 0x00000020 |
Definition at line 84 of file wdfloader.h.
| #define DIAGFLAG_TRACE_FUNCTION_ENTRY 0x00000004 |
Definition at line 81 of file wdfloader.h.
| #define DIAGFLAG_TRACE_FUNCTION_EXIT 0x00000008 |
Definition at line 82 of file wdfloader.h.
| #define DIAGFLAG_VERBOSE_LOGGING 0x00000002 |
Definition at line 80 of file wdfloader.h.
| #define DPRINT | ( | _x_ | ) |
Definition at line 23 of file wdfloader.h.
| #define DPRINT_ERROR | ( | _x_ | ) |
Definition at line 39 of file wdfloader.h.
| DPRINT_TRACE_ENTRY | ( | ) |
Definition at line 47 of file wdfloader.h.
Referenced by DereferenceVersion(), DllUnload(), ReferenceVersion(), WdfLdrQueryInterface(), WdfVersionBind(), WdfVersionBindClass(), and WdfVersionUnbind().
| DPRINT_TRACE_EXIT | ( | ) |
Definition at line 54 of file wdfloader.h.
Referenced by DereferenceVersion(), DllUnload(), ReferenceVersion(), WdfLdrQueryInterface(), WdfVersionBind(), WdfVersionBindClass(), and WdfVersionUnbind().
| #define DPRINT_VERBOSE | ( | _x_ | ) |
Definition at line 31 of file wdfloader.h.
| #define WDFLDR_TAG 'LfdW' |
Definition at line 17 of file wdfloader.h.
| typedef struct _CLASS_MODULE CLASS_MODULE |
| typedef struct _CLIENT_MODULE CLIENT_MODULE |
| typedef struct _LIBRARY_MODULE LIBRARY_MODULE |
| typedef struct _CLASS_CLIENT_MODULE * PCLASS_CLIENT_MODULE |
| typedef struct _CLASS_MODULE * PCLASS_MODULE |
| typedef struct _CLIENT_MODULE * PCLIENT_MODULE |
| typedef struct _LIBRARY_MODULE * PLIBRARY_MODULE |
| typedef NTSTATUS(NTAPI * PWDF_CLASS_BIND) (PWDF_BIND_INFO BindInfo, PWDF_COMPONENT_GLOBALS *Globals, PWDF_CLASS_BIND_INFO ClassBindInfo) |
Definition at line 130 of file wdfloader.h.
| typedef VOID(NTAPI * PWDF_CLASS_UNBIND) (PWDF_BIND_INFO BindInfo, PWDF_COMPONENT_GLOBALS Globals, PWDF_CLASS_BIND_INFO ClassBindInfo) |
Definition at line 137 of file wdfloader.h.
| typedef struct _WDF_LDR_GLOBALS * PWDF_LDR_GLOBALS |
| typedef struct _WDFLDR_DIAGS * PWDFLDR_DIAGS |
| typedef struct _WDF_LDR_GLOBALS WDF_LDR_GLOBALS |
| typedef struct _WDFLDR_DIAGS WDFLDR_DIAGS |
| NTSTATUS BuildServicePath | ( | _In_ PKEY_VALUE_PARTIAL_INFORMATION | KeyValueInformation, |
| _In_ PUNICODE_STRING | ServicePath | ||
| ) |
Definition at line 338 of file registry.c.
Referenced by GetClassServicePath(), and GetVersionServicePath().
| VOID NTAPI ClassAddReference | ( | _In_ PCLASS_MODULE | ClassModule | ) |
| PCLASS_CLIENT_MODULE ClassClientCreate | ( | ) |
Definition at line 137 of file class.c.
Referenced by WdfVersionBindClass().
| VOID ClassClose | ( | _In_ PCLASS_MODULE | ClassModule | ) |
| PCLASS_MODULE ClassCreate | ( | _In_ PWDF_CLASS_LIBRARY_INFO | ClassLibInfo, |
| _In_ PLIBRARY_MODULE | LibModule, | ||
| _In_ PUNICODE_STRING | ServiceName | ||
| ) |
Definition at line 75 of file class.c.
| NTSTATUS ClassLinkInClient | ( | _In_ PCLASS_MODULE | ClassModule, |
| _In_ PWDF_CLASS_BIND_INFO | ClassBindInfo, | ||
| _In_ PWDF_BIND_INFO | BindInfo, | ||
| _Out_ PCLASS_CLIENT_MODULE | ClassClientModule | ||
| ) |
Definition at line 170 of file class.c.
Referenced by WdfVersionBindClass().
| NTSTATUS ClassOpen | ( | _Inout_ PCLASS_MODULE | ClassModule, |
| _In_ PUNICODE_STRING | ObjectName | ||
| ) |
Definition at line 29 of file class.c.
Referenced by WdfRegisterClassLibrary().
| VOID ClassReleaseClientReference | ( | _In_ PCLASS_MODULE | ClassModule | ) |
Definition at line 770 of file class.c.
Referenced by DereferenceClassVersion().
| VOID ClassRemoveFromLibraryList | ( | _In_ PCLASS_MODULE | ClassModule | ) |
Definition at line 692 of file class.c.
Referenced by ClassUnload(), and WdfRegisterClassLibrary().
| VOID DereferenceClassVersion | ( | _In_ PWDF_CLASS_BIND_INFO | ClassBindInfo, |
| _In_ PWDF_BIND_INFO | BindInfo, | ||
| _In_ PWDF_COMPONENT_GLOBALS | Globals | ||
| ) |
Definition at line 790 of file class.c.
Referenced by WdfVersionBindClass(), and WdfVersionUnbindClass().
| NTSTATUS NTAPI DereferenceVersion | ( | _In_ PWDF_BIND_INFO | Info, |
| _In_opt_ PWDF_COMPONENT_GLOBALS | Globals | ||
| ) |
Dereference a WDF library version.
| Info | Binding information |
| Globals | Component globals to clean up |
Definition at line 630 of file wdfldr.c.
| PCLASS_MODULE FindClassByServiceNameLocked | ( | _In_ PUNICODE_STRING | Path, |
| _Out_ PLIBRARY_MODULE * | LibModule | ||
| ) |
Definition at line 585 of file class.c.
Referenced by ReferenceClassVersion(), and WdfRegisterClassLibrary().
| PLIBRARY_MODULE FindLibraryByServicePathLocked | ( | _In_ PCUNICODE_STRING | ServicePath | ) |
Referenced by LibraryFindOrLoad(), and WdfRegisterLibrary().
| NTSTATUS NTAPI FindModuleByClientService | ( | _In_ PUNICODE_STRING | RegistryPath, |
| _Out_ PLIBRARY_MODULE * | Library | ||
| ) |
Referenced by WdfRegisterClassLibrary().
Definition at line 13 of file common.c.
Referenced by ClassRemoveFromLibraryList(), LibraryDereference(), LibraryFindOrLoad(), LibraryReference(), ReferenceClassVersion(), WdfRegisterClassLibrary(), and WdfRegisterLibrary().
| NTSTATUS FxLdrQueryData | ( | _In_ HANDLE | KeyHandle, |
| _In_ PUNICODE_STRING | ValueName, | ||
| _In_ ULONG | Tag, | ||
| _Out_ PKEY_VALUE_PARTIAL_INFORMATION * | KeyValPartialInfo | ||
| ) |
Definition at line 267 of file registry.c.
Referenced by GetClassServicePath(), GetImageName(), and GetVersionServicePath().
| NTSTATUS FxLdrQueryUlong | ( | _In_ HANDLE | KeyHandle, |
| _In_ PUNICODE_STRING | ValueName, | ||
| _Out_ PULONG | Value | ||
| ) |
Definition at line 231 of file registry.c.
Referenced by ServiceCheckBootStart(), and WdfLdrDiagnosticsValueByNameAsULONG().
Definition at line 20 of file common.c.
Referenced by ClassRemoveFromLibraryList(), LibraryDereference(), LibraryFindOrLoad(), LibraryReference(), ReferenceClassVersion(), WdfRegisterClassLibrary(), and WdfRegisterLibrary().
| NTSTATUS GetImageInfo | ( | _In_ PCUNICODE_STRING | ImageName, |
| _Out_ PVOID * | ImageBase, | ||
| _Out_ PULONG | ImageSize | ||
| ) |
Definition at line 182 of file common.c.
Referenced by ClassCreate(), DECLARE_INTERFACE_(), LibraryLinkInClient(), and WdfRegisterLibrary().
| NTSTATUS GetImageName | ( | _In_ PCUNICODE_STRING | ServicePath, |
| _In_ PUNICODE_STRING | ImageName | ||
| ) |
| VOID GetNameFromPath | ( | _In_ PCUNICODE_STRING | Path, |
| _Out_ PUNICODE_STRING | Name | ||
| ) |
Definition at line 54 of file fxtelemetry.cpp.
Referenced by GetImageName().
| NTSTATUS GetVersionServicePath | ( | _In_ PWDF_BIND_INFO | BindInfo, |
| _Out_ PUNICODE_STRING | ServicePath | ||
| ) |
Get service path from bind info and registry.
| BindInfo | Bind information |
| ServicePath | Service path in registry |
Definition at line 141 of file registry.c.
Referenced by ReferenceVersion().
| BOOLEAN LibraryAcquireClientLock | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 365 of file library.c.
Referenced by ClassLinkInClient(), ClassUnlinkClient(), LibraryLinkInClient(), and LibraryUnlinkClient().
| PLIST_ENTRY LibraryAddToClassListLocked | ( | _In_ PLIBRARY_MODULE | LibModule, |
| _In_ PCLASS_MODULE | ClassModule | ||
| ) |
Definition at line 673 of file class.c.
Referenced by ReferenceClassVersion(), and WdfRegisterClassLibrary().
| 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().
| NTSTATUS LibraryCreate | ( | _In_opt_ PWDF_LIBRARY_INFO | LibraryInfo, |
| _In_ PCUNICODE_STRING | ServicePath, | ||
| _Out_ PLIBRARY_MODULE * | OutLibraryModule | ||
| ) |
Referenced by LibraryFindOrLoad(), and WdfRegisterLibrary().
| 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.
| PLIST_ENTRY LibraryUnloadClasses | ( | _In_ PLIBRARY_MODULE | LibModule | ) |
Definition at line 636 of file class.c.
Referenced by DllUnload().
| NTSTATUS ReferenceClassVersion | ( | _In_ PWDF_CLASS_BIND_INFO | ClassBindInfo, |
| _In_ PWDF_BIND_INFO | BindInfo, | ||
| _Out_ PCLASS_MODULE * | ClassModule | ||
| ) |
Definition at line 423 of file class.c.
Referenced by WdfVersionBindClass().
| NTSTATUS NTAPI ReferenceVersion | ( | _In_ PWDF_BIND_INFO | Info, |
| _Out_ PLIBRARY_MODULE * | Module | ||
| ) |
Reference a WDF library version.
| Info | Binding information containing version details |
| Module | Pointer to receive the library module |
Definition at line 576 of file wdfldr.c.
Referenced by WdfVersionBind().
| BOOLEAN ServiceCheckBootStart | ( | _In_ PUNICODE_STRING | Service | ) |
Definition at line 194 of file registry.c.
Referenced by ClassCreate().
|
extern |
Definition at line 27 of file wdfldr.c.
Referenced by DereferenceVersion(), DllInitialize(), and WdfRegisterClassLibrary().
|
extern |
Definition at line 28 of file wdfldr.c.
Referenced by _Requires_lock_held_(), DllInitialize(), DllUnload(), FindClassByServiceNameLocked(), FxLdrAcquireLoadedModuleLock(), FxLdrReleaseLoadedModuleLock(), if(), and WdfRegisterClassLibrary().