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 PerevertkinFxFreeAllocatedMdlsDebugInfo( 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 PerevertkinFX_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 PerevertkinFX_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 PerevertkinFX_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 PerevertkinFX_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