224{
226
227 if (LoaderInterface ==
NULL)
228 {
231 }
232
233 if (LoaderInterface->InterfaceType ==
NULL)
234 {
237 }
238
239 if (
IsEqualGUID(LoaderInterface->InterfaceType, &GUID_WDF_LOADER_INTERFACE_STANDARD))
240 {
242 {
243 DPRINT_ERROR((
"Interface size too small: %u, expected: %u\n",
246 }
247
249
254
257 }
258 else if (
IsEqualGUID(LoaderInterface->InterfaceType, &GUID_WDF_LOADER_INTERFACE_DIAGNOSTIC))
259 {
261 {
262 DPRINT_ERROR((
"Diagnostic interface size too small: %u, expected: %u\n",
265 }
266
269
271
274 }
275 else if (
IsEqualGUID(LoaderInterface->InterfaceType, &GUID_WDF_LOADER_INTERFACE_CLASS_BIND))
276 {
278 {
279 DPRINT_ERROR((
"Class bind interface size too small: %u, expected: %u\n",
281
283 }
284
287
290
293 }
294
298}
struct _WDF_LOADER_INTERFACE * PWDF_LOADER_INTERFACE
#define STATUS_NOINTERFACE
#define IsEqualGUID(rguid1, rguid2)
PWDF_CLASS_BIND ClassBind
PWDF_CLASS_UNBIND ClassUnbind
PWDF_LDR_DIAGNOSTICS_VALUE_BY_NAME_AS_ULONG DiagnosticsValueByNameAsULONG
PWDF_REGISTER_LIBRARY RegisterLibrary
PWDF_VERSION_UNBIND VersionUnbind
PWDF_LDR_DIAGNOSTICS_VALUE_BY_NAME_AS_ULONG DiagnosticsValueByNameAsULONG
PWDF_VERSION_BIND VersionBind
NTSTATUS NTAPI WdfVersionBind(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING ServicePath, _Inout_ PWDF_BIND_INFO BindInfo, _Out_ PWDF_COMPONENT_GLOBALS *ComponentGlobals)
Bind client driver with framework.
VOID NTAPI WdfVersionUnbindClass(_In_ PWDF_BIND_INFO BindInfo, _In_ PWDF_COMPONENT_GLOBALS Globals, _In_ PWDF_CLASS_BIND_INFO ClassBindInfo)
NTSTATUS NTAPI WdfRegisterLibrary(_In_ PWDF_LIBRARY_INFO LibraryInfo, _In_ PUNICODE_STRING ServicePath, _In_ PCUNICODE_STRING LibraryDeviceName)
Register wdf01000 library.
NTSTATUS NTAPI WdfVersionBindClass(_In_ PWDF_BIND_INFO BindInfo, _Inout_ PWDF_COMPONENT_GLOBALS *ClientGlobals, _In_ PWDF_CLASS_BIND_INFO ClassBindInfo)
NTSTATUS NTAPI WdfVersionUnbind(_In_ PUNICODE_STRING RegistryPath, _In_ PWDF_BIND_INFO BindInfo, _In_ PWDF_COMPONENT_GLOBALS ComponentGlobals)
Unbind client driver from framework.
struct _WDF_LOADER_INTERFACE_CLASS_BIND * PWDF_LOADER_INTERFACE_CLASS_BIND
struct _WDF_LOADER_INTERFACE_DIAGNOSTIC * PWDF_LOADER_INTERFACE_DIAGNOSTIC
#define DPRINT_TRACE_ENTRY()
#define DPRINT_TRACE_EXIT()
#define DPRINT_VERBOSE(_x_)