ReactOS  0.4.15-dev-3428-g0609db5
fxobjectkm.cpp
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7  FxObjectKm.cpp
8 
9 Abstract:
10 
11  Kernel mode implementations of FxObject APIs
12 
13 Author:
14 
15 
16 Environment:
17 
18  kernel mode only
19 
20 Revision History:
21 
22 --*/
23 
24 #include "fxobjectpch.hpp"
25 
26 extern "C" {
27 
28 #if defined(EVENT_TRACING)
29 #include "FxObjectKm.tmh"
30 #endif
31 
32 }
33 
34 
35 extern "C" {
36 
44  PVOID QueryBuffer
45  )
46 
47 /*++
48 
49 Routine Description:
50 
51  Query the object handle for specific information
52 
53  This allows dynamic extensions to DDI's.
54 
55  Currently, it is used to allow test hooks for verification
56  which are not available in a production release.
57 
58 Arguments:
59 
60  Object - Object to query
61 
62  Guid - GUID to represent the information/DDI to query for
63 
64  QueryBufferLength - Length of QueryBuffer to return data in
65 
66  QueryBuffer - Pointer to QueryBuffer
67 
68 Returns:
69 
70  NTSTATUS
71 
72 --*/
73 
74 {
75  // PFX_DRIVER_GLOBALS pFxDriverGlobals = Object->GetDriverGlobals();
76 
77  //
78  // Design Note: This interface does not look strongly typed
79  // but it is. The GUID defines a specific strongly typed
80  // contract for QueryBuffer and QueryBufferLength.
81  //
82 
83 #if DBG
84 
85  //
86  // These operations are only available on checked builds for deep unit
87  // testing, code coverage analysis, and model verification.
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101  //
102 
103  // Add code based on the GUID
104 
105  // IsEqualGUID(guid1, guid2), DEFINE_GUID, INITGUID, inc\wnet\guiddef.h
109  UNREFERENCED_PARAMETER(QueryBuffer);
110 #else
114  UNREFERENCED_PARAMETER(QueryBuffer);
115 #endif
116 
117  return STATUS_NOT_FOUND;
118 }
119 
120 } // extern "C"
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
LONG NTSTATUS
Definition: precomp.h:26
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
Definition: wdfobject.h:760
#define _In_
Definition: ms_sal.h:308
#define STATUS_NOT_FOUND
Definition: shellext.h:72
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
Definition: wdfobject.h:760
static _Must_inspect_result_ NTSTATUS _ObjectQuery(_In_ FxObject *Object, _In_ CONST GUID *Guid, _In_ ULONG QueryBufferLength, _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer)
Definition: fxobjectkm.cpp:39
#define _Must_inspect_result_
Definition: ms_sal.h:558
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
unsigned int ULONG
Definition: retypes.h:1
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define CONST
Definition: pedump.c:81