#include <gdi32_vista.h>
#include <d3dkmddi.h>
#include <winuser.h>
Go to the source code of this file.
◆ D3DKMT_EMU_ADAPTER_TAG
| #define D3DKMT_EMU_ADAPTER_TAG 0x0ada0000u |
◆ D3DKMT_EMU_DEVICE_TAG
| #define D3DKMT_EMU_DEVICE_TAG 0x0de00000u |
◆ D3DKMT_EMU_INDEX_MASK
| #define D3DKMT_EMU_INDEX_MASK 0x0000ffffu |
◆ D3DKMT_EMU_MAX_ADAPTERS
| #define D3DKMT_EMU_MAX_ADAPTERS 16 |
◆ D3DKMT_EMU_MAX_DEVICES
| #define D3DKMT_EMU_MAX_DEVICES 64 |
◆ D3DKMT_EMU_ADAPTER
◆ D3DKMT_EMU_DEVICE
◆ D3DKMTCheckVidPnExclusiveOwnership()
Definition at line 323 of file d3dkmt.c.
324{
325 if (!unnamedParam1)
327
329}
#define STATUS_PROCEDURE_NOT_FOUND
#define STATUS_INVALID_PARAMETER
◆ D3DKMTCloseAdapter()
Definition at line 216 of file d3dkmt.c.
217{
220
221 if (!unnamedParam1)
223
227
229 if (!Adapter)
231
233
235}
#define InterlockedExchange
static D3DKMT_EMU_ADAPTER * D3DKMTEmuGetAdapter(_In_ D3DKMT_HANDLE hAdapter)
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiDdDDICloseAdapter(_In_ const D3DKMT_CLOSEADAPTER *unnamedParam1)
◆ D3DKMTCreateDevice()
Definition at line 239 of file d3dkmt.c.
240{
243
244 if (!unnamedParam1)
246
250
253
255 {
257 {
259
261 unnamedParam1->pCommandBuffer =
NULL;
262 unnamedParam1->CommandBufferSize = 0;
263 unnamedParam1->pAllocationList =
NULL;
264 unnamedParam1->AllocationListSize = 0;
265 unnamedParam1->pPatchLocationList =
NULL;
266 unnamedParam1->PatchLocationListSize = 0;
267
269 }
270 }
271
273}
#define D3DKMT_EMU_MAX_DEVICES
#define D3DKMT_EMU_DEVICE_TAG
static D3DKMT_EMU_DEVICE D3DKMTEmuDevices[D3DKMT_EMU_MAX_DEVICES]
#define InterlockedCompareExchange
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiDdDDICreateDevice(_Inout_ D3DKMT_CREATEDEVICE *unnamedParam1)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ WDFCOLLECTION _In_ ULONG Index
◆ D3DKMTDestroyDevice()
Definition at line 277 of file d3dkmt.c.
278{
281
282 if (!unnamedParam1)
284
288
292
294
296}
static D3DKMT_EMU_DEVICE * D3DKMTEmuGetDevice(_In_ D3DKMT_HANDLE hDevice)
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiDdDDIDestroyDevice(_In_ const D3DKMT_DESTROYDEVICE *unnamedParam1)
_Must_inspect_result_ _In_ WDFDEVICE Device
◆ D3DKMTEmuGetAdapter()
◆ D3DKMTEmuGetDevice()
◆ D3DKMTEmuMakeLuid()
◆ D3DKMTEmuOpenAdapter()
◆ D3DKMTOpenAdapterFromGdiDisplayName()
Definition at line 138 of file d3dkmt.c.
139{
145
146 if (!unnamedParam1)
148
149
150
151 DisplayDevice.
cb =
sizeof(DisplayDevice);
153 {
155 unnamedParam1->DeviceName,
156 ARRAYSIZE(unnamedParam1->DeviceName)) == 0)
157 {
159 break;
160 }
161
162 DisplayDevice.
cb =
sizeof(DisplayDevice);
164 }
165
168
170
172 if (!hAdapter)
174
175 unnamedParam1->hAdapter = hAdapter;
176 unnamedParam1->AdapterLuid = AdapterLuid;
178
180}
_ACRTIMP int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t)
static D3DKMT_HANDLE D3DKMTEmuOpenAdapter(_In_ const LUID *AdapterLuid, _In_ D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId)
static VOID D3DKMTEmuMakeLuid(_In_ D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId, _Out_ LUID *AdapterLuid)
BOOL WINAPI EnumDisplayDevicesW(LPCWSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICEW lpDisplayDevice, DWORD dwFlags)
UINT D3DDDI_VIDEO_PRESENT_SOURCE_ID
◆ D3DKMTOpenAdapterFromLuid()
Definition at line 184 of file d3dkmt.c.
185{
189
190 if (!unnamedParam1)
192
193
194
195 if (unnamedParam1->AdapterLuid.HighPart == 0x524f5300 &&
196 unnamedParam1->AdapterLuid.LowPart > 0)
197 {
199 }
200 else
201 {
203 }
204
206 if (!hAdapter)
208
210
212}
◆ D3DKMTQueryVideoMemoryInfo()
Definition at line 333 of file d3dkmt.c.
334{
335 if (!unnamedParam1)
337
340
342}
◆ D3DKMTSetVidPnSourceOwner()
Definition at line 300 of file d3dkmt.c.
301{
303
304 if (!unnamedParam1)
306
310
311
312 if (unnamedParam1->VidPnSourceCount == 0)
314
317
319}
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiDdDDISetVidPnSourceOwner(_In_ const D3DKMT_SETVIDPNSOURCEOWNER *unnamedParam1)
◆ D3DKMTEmuAdapters
◆ D3DKMTEmuDevices