1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7     FxWmiProviderUm.cpp
8 
9 Abstract:
10 
11     This module implements the FxWmiProvider object
12 
13 Author:
14 
15 
16 
17 
18 Environment:
19 
20     User mode only
21 
22 Revision History:
23 
24 
25 --*/
26 
27 #include <fxmin.hpp>
28 #include <wdfwmi.h>
29 #include <FxCallback.hpp>
30 #include <FxPackage.hpp>
31 #include <FxWmiIrpHandler.hpp>
32 #include <FxWmiProvider.hpp>
33 
34 #pragma warning(push)
35 #pragma warning(disable:4100) //unreferenced parameter
36 
37 FxWmiProvider::FxWmiProvider(
38     __in PFX_DRIVER_GLOBALS FxDriverGlobals,
39     __in PWDF_WMI_PROVIDER_CONFIG Config,
40     __in CfxDevice* Device
41     ) :
42     FxNonPagedObject(FX_TYPE_WMI_PROVIDER,
43                      sizeof(FxWmiProvider),
44                      FxDriverGlobals),
45     m_FunctionControl(FxDriverGlobals)
46 {
47     UfxVerifierTrapNotImpl();
48 }
49 
50 FxWmiProvider::~FxWmiProvider()
51 {
52     UfxVerifierTrapNotImpl();
53 }
54 
55 BOOLEAN
56 FxWmiProvider::Dispose(
57     VOID
58     )
59 {
60     UfxVerifierTrapNotImpl();
61     return FALSE;
62 }
63 
64 _Must_inspect_result_
65 NTSTATUS
66 FxWmiProvider::_Create(
67     __in PFX_DRIVER_GLOBALS CallersGlobals,
68     __in WDFDEVICE Device,
69     __in_opt PWDF_OBJECT_ATTRIBUTES ProviderAttributes,
70     __in PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig,
71     __out WDFWMIPROVIDER* WmiProvider,
72     __out FxWmiProvider** Provider
73     )
74 {
75     UfxVerifierTrapNotImpl();
76     return STATUS_NOT_IMPLEMENTED;
77 }
78 
79 _Must_inspect_result_
80 NTSTATUS
81 FxWmiProvider::AddInstanceLocked(
82     __in  FxWmiInstance* Instance,
83     __in  BOOLEAN NoErrorIfPresent,
84     __out PBOOLEAN Update,
85     __in  AddInstanceAction Action
86     )
87 {
88     UfxVerifierTrapNotImpl();
89     return STATUS_NOT_IMPLEMENTED;
90 }
91 
92 _Must_inspect_result_
93 NTSTATUS
94 FxWmiProvider::AddInstance(
95      __in FxWmiInstance* Instance,
96      __in BOOLEAN NoErrorIfPresent
97      )
98 {
99     UfxVerifierTrapNotImpl();
100     return STATUS_NOT_IMPLEMENTED;
101 }
102 
103 VOID
104 FxWmiProvider::RemoveInstance(
105     __in FxWmiInstance* Instance
106     )
107 {
108     UfxVerifierTrapNotImpl();
109 }
110 
111 ULONG
112 FxWmiProvider::GetInstanceIndex(
113     __in FxWmiInstance* Instance
114     )
115 {
116     UfxVerifierTrapNotImpl();
117     return ((ULONG) -1);
118 }
119 
120 _Must_inspect_result_
121 FxWmiInstance*
122 FxWmiProvider::GetInstanceReferenced(
123     __in ULONG Index,
124     __in PVOID Tag
125     )
126 {
127     UfxVerifierTrapNotImpl();
128     return NULL;
129 }
130 
131 _Must_inspect_result_
132 FxWmiInstance*
133 FxWmiProvider::GetInstanceReferencedLocked(
134     __in ULONG Index,
135     __in PVOID Tag
136     )
137 {
138     UfxVerifierTrapNotImpl();
139     return NULL;
140 }
141 
142 _Must_inspect_result_
143 NTSTATUS
144 FxWmiProvider::FunctionControl(
145     __in WDF_WMI_PROVIDER_CONTROL Control,
146     __in BOOLEAN Enable
147     )
148 {
149     UfxVerifierTrapNotImpl();
150     return STATUS_NOT_IMPLEMENTED;
151 }
152 
153 ULONG
154 FxWmiProvider::GetRegistrationFlagsLocked(
155     VOID
156     )
157 {
158     UfxVerifierTrapNotImpl();
159     return ((ULONG) -1);
160 }
161 
162 #pragma warning(pop)
163