1bf215546Sopenharmony_ci/**************************************************************************
2bf215546Sopenharmony_ci *
3bf215546Sopenharmony_ci * Copyright 2012-2021 VMware, Inc.
4bf215546Sopenharmony_ci * All Rights Reserved.
5bf215546Sopenharmony_ci *
6bf215546Sopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a
7bf215546Sopenharmony_ci * copy of this software and associated documentation files (the
8bf215546Sopenharmony_ci * "Software"), to deal in the Software without restriction, including
9bf215546Sopenharmony_ci * without limitation the rights to use, copy, modify, merge, publish,
10bf215546Sopenharmony_ci * distribute, sub license, and/or sell copies of the Software, and to
11bf215546Sopenharmony_ci * permit persons to whom the Software is furnished to do so, subject to
12bf215546Sopenharmony_ci * the following conditions:
13bf215546Sopenharmony_ci *
14bf215546Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15bf215546Sopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16bf215546Sopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
17bf215546Sopenharmony_ci * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
18bf215546Sopenharmony_ci * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19bf215546Sopenharmony_ci * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20bf215546Sopenharmony_ci * USE OR OTHER DEALINGS IN THE SOFTWARE.
21bf215546Sopenharmony_ci *
22bf215546Sopenharmony_ci * The above copyright notice and this permission notice (including the
23bf215546Sopenharmony_ci * next paragraph) shall be included in all copies or substantial portions
24bf215546Sopenharmony_ci * of the Software.
25bf215546Sopenharmony_ci *
26bf215546Sopenharmony_ci **************************************************************************/
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ci/*
29bf215546Sopenharmony_ci * D3DKMT.cpp --
30bf215546Sopenharmony_ci *    Implement kernel mode thunks, so that this can be loaded as a
31bf215546Sopenharmony_ci *    software DLL (D3D_DRIVER_TYPE_SOFTWARE).
32bf215546Sopenharmony_ci */
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ci
35bf215546Sopenharmony_ci#include "DriverIncludes.h"
36bf215546Sopenharmony_ci
37bf215546Sopenharmony_ci#include "Debug.h"
38bf215546Sopenharmony_ci
39bf215546Sopenharmony_ci
40bf215546Sopenharmony_ci#ifndef STATUS_NOT_IMPLEMENTED
41bf215546Sopenharmony_ci#define STATUS_NOT_IMPLEMENTED 0xC0000002
42bf215546Sopenharmony_ci#endif
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ci
45bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
46bf215546Sopenharmony_ciD3DKMTCreateAllocation(D3DKMT_CREATEALLOCATION *pData)
47bf215546Sopenharmony_ci{
48bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
49bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
50bf215546Sopenharmony_ci}
51bf215546Sopenharmony_ci
52bf215546Sopenharmony_ci
53bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
54bf215546Sopenharmony_ciD3DKMTCreateAllocation2(D3DKMT_CREATEALLOCATION *pData)
55bf215546Sopenharmony_ci{
56bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
57bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
58bf215546Sopenharmony_ci}
59bf215546Sopenharmony_ci
60bf215546Sopenharmony_ci
61bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
62bf215546Sopenharmony_ciD3DKMTQueryResourceInfo(D3DKMT_QUERYRESOURCEINFO *pData)
63bf215546Sopenharmony_ci{
64bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
65bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
66bf215546Sopenharmony_ci}
67bf215546Sopenharmony_ci
68bf215546Sopenharmony_ci
69bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
70bf215546Sopenharmony_ciD3DKMTOpenResource(D3DKMT_OPENRESOURCE *pData)
71bf215546Sopenharmony_ci{
72bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
73bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
74bf215546Sopenharmony_ci}
75bf215546Sopenharmony_ci
76bf215546Sopenharmony_ci
77bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
78bf215546Sopenharmony_ciD3DKMTOpenResource2(D3DKMT_OPENRESOURCE *pData)
79bf215546Sopenharmony_ci{
80bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
81bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
82bf215546Sopenharmony_ci}
83bf215546Sopenharmony_ci
84bf215546Sopenharmony_ci
85bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
86bf215546Sopenharmony_ciD3DKMTDestroyAllocation(CONST D3DKMT_DESTROYALLOCATION *pData)
87bf215546Sopenharmony_ci{
88bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
89bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
90bf215546Sopenharmony_ci}
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci
93bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
94bf215546Sopenharmony_ciD3DKMTSetAllocationPriority(CONST D3DKMT_SETALLOCATIONPRIORITY *pData)
95bf215546Sopenharmony_ci{
96bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
97bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
98bf215546Sopenharmony_ci}
99bf215546Sopenharmony_ci
100bf215546Sopenharmony_ci
101bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
102bf215546Sopenharmony_ciD3DKMTQueryAllocationResidency(CONST D3DKMT_QUERYALLOCATIONRESIDENCY *pData)
103bf215546Sopenharmony_ci{
104bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
105bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
106bf215546Sopenharmony_ci}
107bf215546Sopenharmony_ci
108bf215546Sopenharmony_ci
109bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
110bf215546Sopenharmony_ciD3DKMTCreateDevice(D3DKMT_CREATEDEVICE *pData)
111bf215546Sopenharmony_ci{
112bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
113bf215546Sopenharmony_ci   pData->hDevice = 1;
114bf215546Sopenharmony_ci   return STATUS_SUCCESS;
115bf215546Sopenharmony_ci}
116bf215546Sopenharmony_ci
117bf215546Sopenharmony_ci
118bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
119bf215546Sopenharmony_ciD3DKMTDestroyDevice(CONST D3DKMT_DESTROYDEVICE *pData)
120bf215546Sopenharmony_ci{
121bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
122bf215546Sopenharmony_ci   return STATUS_SUCCESS;
123bf215546Sopenharmony_ci}
124bf215546Sopenharmony_ci
125bf215546Sopenharmony_ci
126bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
127bf215546Sopenharmony_ciD3DKMTCreateContext(D3DKMT_CREATECONTEXT *pData)
128bf215546Sopenharmony_ci{
129bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
130bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
131bf215546Sopenharmony_ci}
132bf215546Sopenharmony_ci
133bf215546Sopenharmony_ci
134bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
135bf215546Sopenharmony_ciD3DKMTDestroyContext(CONST D3DKMT_DESTROYCONTEXT *pData)
136bf215546Sopenharmony_ci{
137bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
138bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
139bf215546Sopenharmony_ci}
140bf215546Sopenharmony_ci
141bf215546Sopenharmony_ci
142bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
143bf215546Sopenharmony_ciD3DKMTCreateSynchronizationObject(D3DKMT_CREATESYNCHRONIZATIONOBJECT *pData)
144bf215546Sopenharmony_ci{
145bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
146bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
147bf215546Sopenharmony_ci}
148bf215546Sopenharmony_ci
149bf215546Sopenharmony_ci
150bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
151bf215546Sopenharmony_ciD3DKMTCreateSynchronizationObject2(D3DKMT_CREATESYNCHRONIZATIONOBJECT2 *pData)
152bf215546Sopenharmony_ci{
153bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
154bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
155bf215546Sopenharmony_ci}
156bf215546Sopenharmony_ci
157bf215546Sopenharmony_ci
158bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
159bf215546Sopenharmony_ciD3DKMTOpenSynchronizationObject(D3DKMT_OPENSYNCHRONIZATIONOBJECT *pData)
160bf215546Sopenharmony_ci{
161bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
162bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
163bf215546Sopenharmony_ci}
164bf215546Sopenharmony_ci
165bf215546Sopenharmony_ci
166bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
167bf215546Sopenharmony_ciD3DKMTDestroySynchronizationObject(CONST D3DKMT_DESTROYSYNCHRONIZATIONOBJECT *pData)
168bf215546Sopenharmony_ci{
169bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
170bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
171bf215546Sopenharmony_ci}
172bf215546Sopenharmony_ci
173bf215546Sopenharmony_ci
174bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
175bf215546Sopenharmony_ciD3DKMTWaitForSynchronizationObject(CONST D3DKMT_WAITFORSYNCHRONIZATIONOBJECT *pData)
176bf215546Sopenharmony_ci{
177bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
178bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
179bf215546Sopenharmony_ci}
180bf215546Sopenharmony_ci
181bf215546Sopenharmony_ci
182bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
183bf215546Sopenharmony_ciD3DKMTWaitForSynchronizationObject2(CONST D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2 *pData)
184bf215546Sopenharmony_ci{
185bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
186bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
187bf215546Sopenharmony_ci}
188bf215546Sopenharmony_ci
189bf215546Sopenharmony_ci
190bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
191bf215546Sopenharmony_ciD3DKMTSignalSynchronizationObject(CONST D3DKMT_SIGNALSYNCHRONIZATIONOBJECT *pData)
192bf215546Sopenharmony_ci{
193bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
194bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
195bf215546Sopenharmony_ci}
196bf215546Sopenharmony_ci
197bf215546Sopenharmony_ci
198bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
199bf215546Sopenharmony_ciD3DKMTSignalSynchronizationObject2(CONST D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2 *pData)
200bf215546Sopenharmony_ci{
201bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
202bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
203bf215546Sopenharmony_ci}
204bf215546Sopenharmony_ci
205bf215546Sopenharmony_ci
206bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
207bf215546Sopenharmony_ciD3DKMTLock(D3DKMT_LOCK *pData)
208bf215546Sopenharmony_ci{
209bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
210bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
211bf215546Sopenharmony_ci}
212bf215546Sopenharmony_ci
213bf215546Sopenharmony_ci
214bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
215bf215546Sopenharmony_ciD3DKMTUnlock(CONST D3DKMT_UNLOCK *pData)
216bf215546Sopenharmony_ci{
217bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
218bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
219bf215546Sopenharmony_ci}
220bf215546Sopenharmony_ci
221bf215546Sopenharmony_ci
222bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
223bf215546Sopenharmony_ciD3DKMTGetDisplayModeList(D3DKMT_GETDISPLAYMODELIST *pData)
224bf215546Sopenharmony_ci{
225bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
226bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
227bf215546Sopenharmony_ci}
228bf215546Sopenharmony_ci
229bf215546Sopenharmony_ci
230bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
231bf215546Sopenharmony_ciD3DKMTSetDisplayMode(CONST D3DKMT_SETDISPLAYMODE *pData)
232bf215546Sopenharmony_ci{
233bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
234bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
235bf215546Sopenharmony_ci}
236bf215546Sopenharmony_ci
237bf215546Sopenharmony_ci
238bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
239bf215546Sopenharmony_ciD3DKMTGetMultisampleMethodList(D3DKMT_GETMULTISAMPLEMETHODLIST *pData)
240bf215546Sopenharmony_ci{
241bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
242bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
243bf215546Sopenharmony_ci}
244bf215546Sopenharmony_ci
245bf215546Sopenharmony_ci
246bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
247bf215546Sopenharmony_ciD3DKMTPresent(D3DKMT_PRESENT *pData)
248bf215546Sopenharmony_ci{
249bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
250bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
251bf215546Sopenharmony_ci}
252bf215546Sopenharmony_ci
253bf215546Sopenharmony_ci
254bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
255bf215546Sopenharmony_ciD3DKMTRender(D3DKMT_RENDER *pData)
256bf215546Sopenharmony_ci{
257bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
258bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
259bf215546Sopenharmony_ci}
260bf215546Sopenharmony_ci
261bf215546Sopenharmony_ci
262bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
263bf215546Sopenharmony_ciD3DKMTGetRuntimeData(CONST D3DKMT_GETRUNTIMEDATA *pData)
264bf215546Sopenharmony_ci{
265bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
266bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
267bf215546Sopenharmony_ci}
268bf215546Sopenharmony_ci
269bf215546Sopenharmony_ci
270bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
271bf215546Sopenharmony_ciD3DKMTQueryAdapterInfo(CONST D3DKMT_QUERYADAPTERINFO *pData)
272bf215546Sopenharmony_ci{
273bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci   switch (pData->Type) {
276bf215546Sopenharmony_ci   case KMTQAITYPE_UMDRIVERNAME:
277bf215546Sopenharmony_ci      {
278bf215546Sopenharmony_ci         D3DKMT_UMDFILENAMEINFO *pResult =
279bf215546Sopenharmony_ci               (D3DKMT_UMDFILENAMEINFO *)pData->pPrivateDriverData;
280bf215546Sopenharmony_ci         if (pResult->Version != KMTUMDVERSION_DX10 &&
281bf215546Sopenharmony_ci             pResult->Version != KMTUMDVERSION_DX11) {
282bf215546Sopenharmony_ci         DebugPrintf("%s: unsupported UMD version (%u)\n",
283bf215546Sopenharmony_ci                     __FUNCTION__, pResult->Version);
284bf215546Sopenharmony_ci            return STATUS_INVALID_PARAMETER;
285bf215546Sopenharmony_ci         }
286bf215546Sopenharmony_ci         HMODULE hModule = 0;
287bf215546Sopenharmony_ci         BOOL bRet;
288bf215546Sopenharmony_ci         DWORD dwRet;
289bf215546Sopenharmony_ci         bRet = GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
290bf215546Sopenharmony_ci                                  (LPCTSTR)D3DKMTQueryAdapterInfo,
291bf215546Sopenharmony_ci                                  &hModule);
292bf215546Sopenharmony_ci         assert(bRet);
293bf215546Sopenharmony_ci         dwRet = GetModuleFileNameW(hModule, pResult->UmdFileName, MAX_PATH);
294bf215546Sopenharmony_ci         assert(dwRet);
295bf215546Sopenharmony_ci         return STATUS_SUCCESS;
296bf215546Sopenharmony_ci      }
297bf215546Sopenharmony_ci      break;
298bf215546Sopenharmony_ci   case KMTQAITYPE_GETSEGMENTSIZE:
299bf215546Sopenharmony_ci      {
300bf215546Sopenharmony_ci         D3DKMT_SEGMENTSIZEINFO *pResult =
301bf215546Sopenharmony_ci               (D3DKMT_SEGMENTSIZEINFO *)pData->pPrivateDriverData;
302bf215546Sopenharmony_ci         pResult->DedicatedVideoMemorySize = 0;
303bf215546Sopenharmony_ci         pResult->DedicatedSystemMemorySize = 0;
304bf215546Sopenharmony_ci         pResult->SharedSystemMemorySize = 3ULL*1024ULL*1024ULL*1024ULL;
305bf215546Sopenharmony_ci         return STATUS_SUCCESS;
306bf215546Sopenharmony_ci      }
307bf215546Sopenharmony_ci      break;
308bf215546Sopenharmony_ci   case KMTQAITYPE_CHECKDRIVERUPDATESTATUS:
309bf215546Sopenharmony_ci      {
310bf215546Sopenharmony_ci         BOOL *pResult = (BOOL *)pData->pPrivateDriverData;
311bf215546Sopenharmony_ci         *pResult = FALSE;
312bf215546Sopenharmony_ci         return STATUS_SUCCESS;
313bf215546Sopenharmony_ci      }
314bf215546Sopenharmony_ci   case KMTQAITYPE_DRIVERVERSION:
315bf215546Sopenharmony_ci      {
316bf215546Sopenharmony_ci         D3DKMT_DRIVERVERSION *pResult = (D3DKMT_DRIVERVERSION *)pData->pPrivateDriverData;
317bf215546Sopenharmony_ci         *pResult = KMT_DRIVERVERSION_WDDM_1_0;
318bf215546Sopenharmony_ci         return STATUS_SUCCESS;
319bf215546Sopenharmony_ci      }
320bf215546Sopenharmony_ci   case KMTQAITYPE_XBOX:
321bf215546Sopenharmony_ci      {
322bf215546Sopenharmony_ci         BOOL *pResult = (BOOL *)pData->pPrivateDriverData;
323bf215546Sopenharmony_ci         *pResult = FALSE;
324bf215546Sopenharmony_ci         return STATUS_SUCCESS;
325bf215546Sopenharmony_ci      }
326bf215546Sopenharmony_ci   case KMTQAITYPE_PHYSICALADAPTERCOUNT:
327bf215546Sopenharmony_ci      {
328bf215546Sopenharmony_ci         UINT *pResult = (UINT *)pData->pPrivateDriverData;
329bf215546Sopenharmony_ci         *pResult = 1;
330bf215546Sopenharmony_ci         return STATUS_SUCCESS;
331bf215546Sopenharmony_ci      }
332bf215546Sopenharmony_ci   case KMTQAITYPE_PHYSICALADAPTERDEVICEIDS:
333bf215546Sopenharmony_ci      ZeroMemory(pData->pPrivateDriverData, pData->PrivateDriverDataSize);
334bf215546Sopenharmony_ci      return STATUS_SUCCESS;
335bf215546Sopenharmony_ci   default:
336bf215546Sopenharmony_ci      DebugPrintf("%s: unsupported query type (Type=%u, PrivateDriverDataSize=%u)\n",
337bf215546Sopenharmony_ci                  __FUNCTION__, pData->Type, pData->PrivateDriverDataSize);
338bf215546Sopenharmony_ci      ZeroMemory(pData->pPrivateDriverData, pData->PrivateDriverDataSize);
339bf215546Sopenharmony_ci      return STATUS_NOT_IMPLEMENTED;
340bf215546Sopenharmony_ci   }
341bf215546Sopenharmony_ci}
342bf215546Sopenharmony_ci
343bf215546Sopenharmony_ci
344bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
345bf215546Sopenharmony_ciD3DKMTOpenAdapterFromHdc(D3DKMT_OPENADAPTERFROMHDC *pData)
346bf215546Sopenharmony_ci{
347bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
348bf215546Sopenharmony_ci   pData->hAdapter = 1;
349bf215546Sopenharmony_ci   pData->AdapterLuid.LowPart = 0;
350bf215546Sopenharmony_ci   pData->AdapterLuid.HighPart = 0;
351bf215546Sopenharmony_ci   pData->VidPnSourceId = 1;
352bf215546Sopenharmony_ci   return STATUS_SUCCESS;
353bf215546Sopenharmony_ci}
354bf215546Sopenharmony_ci
355bf215546Sopenharmony_ci
356bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
357bf215546Sopenharmony_ciD3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *pData)
358bf215546Sopenharmony_ci{
359bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
360bf215546Sopenharmony_ci   pData->hAdapter = 1;
361bf215546Sopenharmony_ci   pData->AdapterLuid.LowPart = 0;
362bf215546Sopenharmony_ci   pData->AdapterLuid.HighPart = 0;
363bf215546Sopenharmony_ci   pData->VidPnSourceId = 1;
364bf215546Sopenharmony_ci   return STATUS_SUCCESS;
365bf215546Sopenharmony_ci}
366bf215546Sopenharmony_ci
367bf215546Sopenharmony_ci
368bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
369bf215546Sopenharmony_ciD3DKMTOpenAdapterFromDeviceName(D3DKMT_OPENADAPTERFROMDEVICENAME *pData)
370bf215546Sopenharmony_ci{
371bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
372bf215546Sopenharmony_ci   pData->hAdapter = 1;
373bf215546Sopenharmony_ci   pData->AdapterLuid.LowPart = 0;
374bf215546Sopenharmony_ci   pData->AdapterLuid.HighPart = 0;
375bf215546Sopenharmony_ci   return STATUS_SUCCESS;
376bf215546Sopenharmony_ci}
377bf215546Sopenharmony_ci
378bf215546Sopenharmony_ci
379bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
380bf215546Sopenharmony_ciD3DKMTCloseAdapter(CONST D3DKMT_CLOSEADAPTER *pData)
381bf215546Sopenharmony_ci{
382bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
383bf215546Sopenharmony_ci   return STATUS_SUCCESS;
384bf215546Sopenharmony_ci}
385bf215546Sopenharmony_ci
386bf215546Sopenharmony_ci
387bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
388bf215546Sopenharmony_ciD3DKMTGetSharedPrimaryHandle(D3DKMT_GETSHAREDPRIMARYHANDLE *pData)
389bf215546Sopenharmony_ci{
390bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
391bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
392bf215546Sopenharmony_ci}
393bf215546Sopenharmony_ci
394bf215546Sopenharmony_ci
395bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
396bf215546Sopenharmony_ciD3DKMTEscape(CONST D3DKMT_ESCAPE *pData)
397bf215546Sopenharmony_ci{
398bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
399bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
400bf215546Sopenharmony_ci}
401bf215546Sopenharmony_ci
402bf215546Sopenharmony_ci
403bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
404bf215546Sopenharmony_ciD3DKMTSetVidPnSourceOwner(CONST D3DKMT_SETVIDPNSOURCEOWNER *pData)
405bf215546Sopenharmony_ci{
406bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
407bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
408bf215546Sopenharmony_ci}
409bf215546Sopenharmony_ci
410bf215546Sopenharmony_ci
411bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
412bf215546Sopenharmony_ciD3DKMTSetVidPnSourceOwner1(CONST D3DKMT_SETVIDPNSOURCEOWNER1 *pData)
413bf215546Sopenharmony_ci{
414bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
415bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
416bf215546Sopenharmony_ci}
417bf215546Sopenharmony_ci
418bf215546Sopenharmony_ci
419bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
420bf215546Sopenharmony_ciD3DKMTGetPresentHistory(D3DKMT_GETPRESENTHISTORY *pData)
421bf215546Sopenharmony_ci{
422bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
423bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
424bf215546Sopenharmony_ci}
425bf215546Sopenharmony_ci
426bf215546Sopenharmony_ci
427bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
428bf215546Sopenharmony_ciD3DKMTGetPresentQueueEvent(D3DKMT_HANDLE hAdapter, HANDLE *pData)
429bf215546Sopenharmony_ci{
430bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
431bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
432bf215546Sopenharmony_ci}
433bf215546Sopenharmony_ci
434bf215546Sopenharmony_ci
435bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
436bf215546Sopenharmony_ciD3DKMTCreateOverlay(D3DKMT_CREATEOVERLAY *pData)
437bf215546Sopenharmony_ci{
438bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
439bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
440bf215546Sopenharmony_ci}
441bf215546Sopenharmony_ci
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
444bf215546Sopenharmony_ciD3DKMTUpdateOverlay(CONST D3DKMT_UPDATEOVERLAY *pData)
445bf215546Sopenharmony_ci{
446bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
447bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
448bf215546Sopenharmony_ci}
449bf215546Sopenharmony_ci
450bf215546Sopenharmony_ci
451bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
452bf215546Sopenharmony_ciD3DKMTFlipOverlay(CONST D3DKMT_FLIPOVERLAY *pData)
453bf215546Sopenharmony_ci{
454bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
455bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
456bf215546Sopenharmony_ci}
457bf215546Sopenharmony_ci
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
460bf215546Sopenharmony_ciD3DKMTDestroyOverlay(CONST D3DKMT_DESTROYOVERLAY *pData)
461bf215546Sopenharmony_ci{
462bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
463bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
464bf215546Sopenharmony_ci}
465bf215546Sopenharmony_ci
466bf215546Sopenharmony_ci
467bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
468bf215546Sopenharmony_ciD3DKMTWaitForVerticalBlankEvent(CONST D3DKMT_WAITFORVERTICALBLANKEVENT *pData)
469bf215546Sopenharmony_ci{
470bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
471bf215546Sopenharmony_ci   return STATUS_SUCCESS;
472bf215546Sopenharmony_ci}
473bf215546Sopenharmony_ci
474bf215546Sopenharmony_ci
475bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
476bf215546Sopenharmony_ciD3DKMTSetGammaRamp(CONST D3DKMT_SETGAMMARAMP *pData)
477bf215546Sopenharmony_ci{
478bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
479bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
480bf215546Sopenharmony_ci}
481bf215546Sopenharmony_ci
482bf215546Sopenharmony_ci
483bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
484bf215546Sopenharmony_ciD3DKMTGetDeviceState(D3DKMT_GETDEVICESTATE *pData)
485bf215546Sopenharmony_ci{
486bf215546Sopenharmony_ci   LOG_ENTRYPOINT();
487bf215546Sopenharmony_ci   switch (pData->StateType) {
488bf215546Sopenharmony_ci   case D3DKMT_DEVICESTATE_EXECUTION:
489bf215546Sopenharmony_ci      pData->ExecutionState = D3DKMT_DEVICEEXECUTION_ACTIVE;
490bf215546Sopenharmony_ci      return STATUS_SUCCESS;
491bf215546Sopenharmony_ci   case D3DKMT_DEVICESTATE_PRESENT:
492bf215546Sopenharmony_ci      pData->PresentState.PresentStats.PresentCount = 0;
493bf215546Sopenharmony_ci      pData->PresentState.PresentStats.PresentRefreshCount = 0;
494bf215546Sopenharmony_ci      pData->PresentState.PresentStats.SyncRefreshCount = 0;
495bf215546Sopenharmony_ci      pData->PresentState.PresentStats.SyncQPCTime.QuadPart = 0;
496bf215546Sopenharmony_ci      pData->PresentState.PresentStats.SyncGPUTime.QuadPart = 0;
497bf215546Sopenharmony_ci      return STATUS_SUCCESS;
498bf215546Sopenharmony_ci   case D3DKMT_DEVICESTATE_RESET:
499bf215546Sopenharmony_ci      pData->ResetState.Value = 0;
500bf215546Sopenharmony_ci      return STATUS_SUCCESS;
501bf215546Sopenharmony_ci   default:
502bf215546Sopenharmony_ci      return STATUS_INVALID_PARAMETER;
503bf215546Sopenharmony_ci   }
504bf215546Sopenharmony_ci}
505bf215546Sopenharmony_ci
506bf215546Sopenharmony_ci
507bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
508bf215546Sopenharmony_ciD3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *pData)
509bf215546Sopenharmony_ci{
510bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
511bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
512bf215546Sopenharmony_ci}
513bf215546Sopenharmony_ci
514bf215546Sopenharmony_ci
515bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
516bf215546Sopenharmony_ciD3DKMTDestroyDCFromMemory(CONST D3DKMT_DESTROYDCFROMMEMORY *pData)
517bf215546Sopenharmony_ci{
518bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
519bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
520bf215546Sopenharmony_ci}
521bf215546Sopenharmony_ci
522bf215546Sopenharmony_ci
523bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
524bf215546Sopenharmony_ciD3DKMTSetContextSchedulingPriority(CONST D3DKMT_SETCONTEXTSCHEDULINGPRIORITY *pData)
525bf215546Sopenharmony_ci{
526bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
527bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
528bf215546Sopenharmony_ci}
529bf215546Sopenharmony_ci
530bf215546Sopenharmony_ci
531bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
532bf215546Sopenharmony_ciD3DKMTGetContextSchedulingPriority(D3DKMT_GETCONTEXTSCHEDULINGPRIORITY *pData)
533bf215546Sopenharmony_ci{
534bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
535bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
536bf215546Sopenharmony_ci}
537bf215546Sopenharmony_ci
538bf215546Sopenharmony_ci
539bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
540bf215546Sopenharmony_ciD3DKMTSetProcessSchedulingPriorityClass(HANDLE hProcess, D3DKMT_SCHEDULINGPRIORITYCLASS Priority)
541bf215546Sopenharmony_ci{
542bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
543bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
544bf215546Sopenharmony_ci}
545bf215546Sopenharmony_ci
546bf215546Sopenharmony_ci
547bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
548bf215546Sopenharmony_ciD3DKMTGetProcessSchedulingPriorityClass(HANDLE hProcess, D3DKMT_SCHEDULINGPRIORITYCLASS *pPriority)
549bf215546Sopenharmony_ci{
550bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
551bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
552bf215546Sopenharmony_ci}
553bf215546Sopenharmony_ci
554bf215546Sopenharmony_ci
555bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
556bf215546Sopenharmony_ciD3DKMTReleaseProcessVidPnSourceOwners(HANDLE hProcess)
557bf215546Sopenharmony_ci{
558bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
559bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
560bf215546Sopenharmony_ci}
561bf215546Sopenharmony_ci
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
564bf215546Sopenharmony_ciD3DKMTGetScanLine(D3DKMT_GETSCANLINE *pData)
565bf215546Sopenharmony_ci{
566bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
567bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
568bf215546Sopenharmony_ci}
569bf215546Sopenharmony_ci
570bf215546Sopenharmony_ci
571bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
572bf215546Sopenharmony_ciD3DKMTChangeSurfacePointer(CONST D3DKMT_CHANGESURFACEPOINTER *pData)
573bf215546Sopenharmony_ci{
574bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
575bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
576bf215546Sopenharmony_ci}
577bf215546Sopenharmony_ci
578bf215546Sopenharmony_ci
579bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
580bf215546Sopenharmony_ciD3DKMTSetQueuedLimit(CONST D3DKMT_SETQUEUEDLIMIT *pData)
581bf215546Sopenharmony_ci{
582bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
583bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
584bf215546Sopenharmony_ci}
585bf215546Sopenharmony_ci
586bf215546Sopenharmony_ci
587bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
588bf215546Sopenharmony_ciD3DKMTPollDisplayChildren(CONST D3DKMT_POLLDISPLAYCHILDREN *pData)
589bf215546Sopenharmony_ci{
590bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
591bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
592bf215546Sopenharmony_ci}
593bf215546Sopenharmony_ci
594bf215546Sopenharmony_ci
595bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
596bf215546Sopenharmony_ciD3DKMTInvalidateActiveVidPn(CONST D3DKMT_INVALIDATEACTIVEVIDPN *pData)
597bf215546Sopenharmony_ci{
598bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
599bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
600bf215546Sopenharmony_ci}
601bf215546Sopenharmony_ci
602bf215546Sopenharmony_ci
603bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
604bf215546Sopenharmony_ciD3DKMTCheckOcclusion(CONST D3DKMT_CHECKOCCLUSION *pData)
605bf215546Sopenharmony_ci{
606bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
607bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
608bf215546Sopenharmony_ci}
609bf215546Sopenharmony_ci
610bf215546Sopenharmony_ci
611bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
612bf215546Sopenharmony_ciD3DKMTWaitForIdle(CONST D3DKMT_WAITFORIDLE *pData)
613bf215546Sopenharmony_ci{
614bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
615bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
616bf215546Sopenharmony_ci}
617bf215546Sopenharmony_ci
618bf215546Sopenharmony_ci
619bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
620bf215546Sopenharmony_ciD3DKMTCheckMonitorPowerState(CONST D3DKMT_CHECKMONITORPOWERSTATE *pData)
621bf215546Sopenharmony_ci{
622bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
623bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
624bf215546Sopenharmony_ci}
625bf215546Sopenharmony_ci
626bf215546Sopenharmony_ci
627bf215546Sopenharmony_ciEXTERN_C BOOLEAN APIENTRY
628bf215546Sopenharmony_ciD3DKMTCheckExclusiveOwnership(VOID)
629bf215546Sopenharmony_ci{
630bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
631bf215546Sopenharmony_ci   return FALSE;
632bf215546Sopenharmony_ci}
633bf215546Sopenharmony_ci
634bf215546Sopenharmony_ci
635bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
636bf215546Sopenharmony_ciD3DKMTCheckVidPnExclusiveOwnership(CONST D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *pData)
637bf215546Sopenharmony_ci{
638bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
639bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
640bf215546Sopenharmony_ci}
641bf215546Sopenharmony_ci
642bf215546Sopenharmony_ci
643bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
644bf215546Sopenharmony_ciD3DKMTSetDisplayPrivateDriverFormat(CONST D3DKMT_SETDISPLAYPRIVATEDRIVERFORMAT *pData)
645bf215546Sopenharmony_ci{
646bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
647bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
648bf215546Sopenharmony_ci}
649bf215546Sopenharmony_ci
650bf215546Sopenharmony_ci
651bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
652bf215546Sopenharmony_ciD3DKMTSharedPrimaryLockNotification(CONST D3DKMT_SHAREDPRIMARYLOCKNOTIFICATION *pData)
653bf215546Sopenharmony_ci{
654bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
655bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
656bf215546Sopenharmony_ci}
657bf215546Sopenharmony_ci
658bf215546Sopenharmony_ci
659bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
660bf215546Sopenharmony_ciD3DKMTSharedPrimaryUnLockNotification(CONST D3DKMT_SHAREDPRIMARYUNLOCKNOTIFICATION *pData)
661bf215546Sopenharmony_ci{
662bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
663bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
664bf215546Sopenharmony_ci}
665bf215546Sopenharmony_ci
666bf215546Sopenharmony_ci
667bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
668bf215546Sopenharmony_ciD3DKMTCreateKeyedMutex(D3DKMT_CREATEKEYEDMUTEX *pData)
669bf215546Sopenharmony_ci{
670bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
671bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
672bf215546Sopenharmony_ci}
673bf215546Sopenharmony_ci
674bf215546Sopenharmony_ci
675bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
676bf215546Sopenharmony_ciD3DKMTOpenKeyedMutex(D3DKMT_OPENKEYEDMUTEX *pData)
677bf215546Sopenharmony_ci{
678bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
679bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
680bf215546Sopenharmony_ci}
681bf215546Sopenharmony_ci
682bf215546Sopenharmony_ci
683bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
684bf215546Sopenharmony_ciD3DKMTDestroyKeyedMutex(CONST D3DKMT_DESTROYKEYEDMUTEX *pData)
685bf215546Sopenharmony_ci{
686bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
687bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
688bf215546Sopenharmony_ci}
689bf215546Sopenharmony_ci
690bf215546Sopenharmony_ci
691bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
692bf215546Sopenharmony_ciD3DKMTAcquireKeyedMutex(D3DKMT_ACQUIREKEYEDMUTEX *pData)
693bf215546Sopenharmony_ci{
694bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
695bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
696bf215546Sopenharmony_ci}
697bf215546Sopenharmony_ci
698bf215546Sopenharmony_ci
699bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
700bf215546Sopenharmony_ciD3DKMTReleaseKeyedMutex(D3DKMT_RELEASEKEYEDMUTEX *pData)
701bf215546Sopenharmony_ci{
702bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
703bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
704bf215546Sopenharmony_ci}
705bf215546Sopenharmony_ci
706bf215546Sopenharmony_ci
707bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
708bf215546Sopenharmony_ciD3DKMTConfigureSharedResource(CONST D3DKMT_CONFIGURESHAREDRESOURCE *pData)
709bf215546Sopenharmony_ci{
710bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
711bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
712bf215546Sopenharmony_ci}
713bf215546Sopenharmony_ci
714bf215546Sopenharmony_ci
715bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
716bf215546Sopenharmony_ciD3DKMTGetOverlayState(D3DKMT_GETOVERLAYSTATE *pData)
717bf215546Sopenharmony_ci{
718bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
719bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
720bf215546Sopenharmony_ci}
721bf215546Sopenharmony_ci
722bf215546Sopenharmony_ci
723bf215546Sopenharmony_ciEXTERN_C NTSTATUS APIENTRY
724bf215546Sopenharmony_ciD3DKMTCheckSharedResourceAccess(CONST D3DKMT_CHECKSHAREDRESOURCEACCESS *pData)
725bf215546Sopenharmony_ci{
726bf215546Sopenharmony_ci   LOG_UNSUPPORTED_ENTRYPOINT();
727bf215546Sopenharmony_ci   return STATUS_NOT_IMPLEMENTED;
728bf215546Sopenharmony_ci}
729