ReactOS 0.4.15-dev-8241-g63935f8
fxobjectkm.cpp
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation
4
5Module Name:
6
7 FxObjectKm.cpp
8
9Abstract:
10
11 Kernel mode implementations of FxObject APIs
12
13Author:
14
15
16Environment:
17
18 kernel mode only
19
20Revision History:
21
22--*/
23
24#include "fxobjectpch.hpp"
25
26extern "C" {
27
28#if defined(EVENT_TRACING)
29#include "FxObjectKm.tmh"
30#endif
31
32}
33
34
35extern "C" {
36
44 PVOID QueryBuffer
45 )
46
47/*++
48
49Routine 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
58Arguments:
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
68Returns:
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"
LONG NTSTATUS
Definition: precomp.h:26
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 _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _In_
Definition: ms_sal.h:308
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define CONST
Definition: pedump.c:81
#define STATUS_NOT_FOUND
Definition: shellext.h:72
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
Definition: wdfobject.h:762
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
Definition: wdfobject.h:764