1*8a978a17SVictor Perevertkin //
2*8a978a17SVictor Perevertkin //    Copyright (C) Microsoft.  All rights reserved.
3*8a978a17SVictor Perevertkin //
4*8a978a17SVictor Perevertkin #include "fxobjectpch.hpp"
5*8a978a17SVictor Perevertkin #include "fxldrum.h"
6*8a978a17SVictor Perevertkin 
7*8a978a17SVictor Perevertkin extern "C" {
8*8a978a17SVictor Perevertkin 
9*8a978a17SVictor Perevertkin VOID
FxFreeAllocatedMdlsDebugInfo(__in FxDriverGlobalsDebugExtension * DebugExtension)10*8a978a17SVictor Perevertkin FxFreeAllocatedMdlsDebugInfo(
11*8a978a17SVictor Perevertkin     __in FxDriverGlobalsDebugExtension* DebugExtension
12*8a978a17SVictor Perevertkin     )
13*8a978a17SVictor Perevertkin {
14*8a978a17SVictor Perevertkin     UNREFERENCED_PARAMETER(DebugExtension);
15*8a978a17SVictor Perevertkin 
16*8a978a17SVictor Perevertkin     //DO_NOTHING()
17*8a978a17SVictor Perevertkin }
18*8a978a17SVictor Perevertkin 
19*8a978a17SVictor Perevertkin _Must_inspect_result_
20*8a978a17SVictor Perevertkin BOOLEAN
IsCorrectVersionRegistered(_In_ PCUNICODE_STRING)21*8a978a17SVictor Perevertkin FX_DRIVER_GLOBALS::IsCorrectVersionRegistered(
22*8a978a17SVictor Perevertkin     _In_ PCUNICODE_STRING /*ServiceKeyName*/
23*8a978a17SVictor Perevertkin     )
24*8a978a17SVictor Perevertkin {
25*8a978a17SVictor Perevertkin     return TRUE;    //  Then it won't even call the next method
26*8a978a17SVictor Perevertkin }
27*8a978a17SVictor Perevertkin 
28*8a978a17SVictor Perevertkin VOID
RegisterClientVersion(_In_ PCUNICODE_STRING ServiceKeyName)29*8a978a17SVictor Perevertkin FX_DRIVER_GLOBALS::RegisterClientVersion(
30*8a978a17SVictor Perevertkin     _In_ PCUNICODE_STRING ServiceKeyName
31*8a978a17SVictor Perevertkin     )
32*8a978a17SVictor Perevertkin {
33*8a978a17SVictor Perevertkin     UNREFERENCED_PARAMETER(ServiceKeyName);
34*8a978a17SVictor Perevertkin 
35*8a978a17SVictor Perevertkin     ASSERTMSG("Not implemented for UMDF\n", FALSE);
36*8a978a17SVictor Perevertkin }
37*8a978a17SVictor Perevertkin 
38*8a978a17SVictor Perevertkin _Must_inspect_result_
39*8a978a17SVictor Perevertkin BOOLEAN
IsVersionGreaterThanOrEqualTo(__in ULONG Major,__in ULONG Minor)40*8a978a17SVictor Perevertkin FX_DRIVER_GLOBALS::IsVersionGreaterThanOrEqualTo(
41*8a978a17SVictor Perevertkin     __in ULONG  Major,
42*8a978a17SVictor Perevertkin     __in ULONG  Minor
43*8a978a17SVictor Perevertkin     )
44*8a978a17SVictor Perevertkin {
45*8a978a17SVictor Perevertkin     if ((WdfBindInfo->Version.Major > Major) ||
46*8a978a17SVictor Perevertkin                 (WdfBindInfo->Version.Major == Major &&
47*8a978a17SVictor Perevertkin                   WdfBindInfo->Version.Minor >= Minor)) {
48*8a978a17SVictor Perevertkin         return TRUE;
49*8a978a17SVictor Perevertkin     }
50*8a978a17SVictor Perevertkin     else {
51*8a978a17SVictor Perevertkin         return FALSE;
52*8a978a17SVictor Perevertkin     }
53*8a978a17SVictor Perevertkin }
54*8a978a17SVictor Perevertkin 
55*8a978a17SVictor Perevertkin }
56*8a978a17SVictor Perevertkin 
57*8a978a17SVictor Perevertkin _Must_inspect_result_
58*8a978a17SVictor Perevertkin BOOLEAN
IsDebuggerAttached(VOID)59*8a978a17SVictor Perevertkin FX_DRIVER_GLOBALS::IsDebuggerAttached(
60*8a978a17SVictor Perevertkin     VOID
61*8a978a17SVictor Perevertkin     )
62*8a978a17SVictor Perevertkin {
63*8a978a17SVictor Perevertkin     //
64*8a978a17SVictor Perevertkin     // COnvert the returned BOOL into BOOLEAN
65*8a978a17SVictor Perevertkin     //
66*8a978a17SVictor Perevertkin     return (IsDebuggerPresent() != FALSE);
67*8a978a17SVictor Perevertkin }
68