Go to the source code of this file.
|
BOOL APIENTRY | DrvEnableDriver (ULONG iEngineVersion, ULONG cj, PDRVENABLEDATA pded) |
|
DHPDEV APIENTRY | DrvEnablePDEV (DEVMODEW *pDevmode, PWSTR pwszLogAddress, ULONG cPatterns, HSURF *ahsurfPatterns, ULONG cjGdiInfo, ULONG *pGdiInfo, ULONG cjDevInfo, DEVINFO *pDevInfo, HDEV hdev, PWSTR pwszDeviceName, HANDLE hDriver) |
|
VOID APIENTRY | DrvCompletePDEV (DHPDEV dhpdev, HDEV hdev) |
|
VOID APIENTRY | DrvDisablePDEV (DHPDEV dhpdev) |
|
HSURF APIENTRY | DrvEnableSurface (DHPDEV dhpdev) |
|
VOID APIENTRY | DrvDisableSurface (DHPDEV dhpdev) |
|
BOOL APIENTRY | DrvAssertMode (DHPDEV dhpdev, BOOL bEnable) |
|
ULONG APIENTRY | DrvGetModes (HANDLE hDriver, ULONG cjSize, DEVMODEW *pdm) |
|
◆ HOOKS_BMF16BPP
◆ HOOKS_BMF24BPP
◆ HOOKS_BMF32BPP
◆ HOOKS_BMF8BPP
◆ DrvAssertMode()
Definition at line 348 of file enable.c.
351{
355
357 {
358
359
360
361
363
365 {
366 DISPDBG((0,
"DISP DrvAssertMode failed bInitSURF\n"));
368 }
369
371
376 (DHSURF)ppdev,
377 ppdev->pjScreen,
378 ppdev->lDeltaScreen,
380 {
381 DISPDBG((0,
"DISP DrvAssertMode failed EngModifySurface\n"));
383 }
384 }
385
387 }
388 else
389 {
390
391
392
393
394
395 if (EngDeviceIoControl(ppdev->hDriver,
398 0,
400 0,
401 &ulReturn))
402 {
403 RIP(
"DISP DrvAssertMode failed IOCTL");
405 }
406 else
407 {
409 }
410 }
411}
#define IOCTL_VIDEO_RESET_DEVICE
BOOL bInitSURF(PPDEV, BOOL)
ENGAPI BOOL APIENTRY EngModifySurface(_In_ HSURF hsurf, _In_ HDEV hdev, _In_ FLONG flHooks, _In_ FLONG flSurface, _In_ DHSURF dhsurf, _In_ PVOID pvScan0, _In_ LONG lDelta, _Reserved_ PVOID pvReserved)
#define MS_NOTSYSTEMMEMORY
◆ DrvCompletePDEV()
◆ DrvDisablePDEV()
Definition at line 194 of file enable.c.
196{
199}
VOID vDisablePalette(PPDEV)
◆ DrvDisableSurface()
Definition at line 333 of file enable.c.
335{
339}
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
◆ DrvEnableDriver()
Definition at line 51 of file enable.c.
55{
56
57
58
59
60
61
62
63
64
67
70
71
72
73
75
77
78
80}
#define DDI_DRIVER_VERSION_NT4
◆ DrvEnablePDEV()
DHPDEV APIENTRY DrvEnablePDEV |
( |
DEVMODEW * |
pDevmode, |
|
|
PWSTR |
pwszLogAddress, |
|
|
ULONG |
cPatterns, |
|
|
HSURF * |
ahsurfPatterns, |
|
|
ULONG |
cjGdiInfo, |
|
|
ULONG * |
pGdiInfo, |
|
|
ULONG |
cjDevInfo, |
|
|
DEVINFO * |
pDevInfo, |
|
|
HDEV |
hdev, |
|
|
PWSTR |
pwszDeviceName, |
|
|
HANDLE |
hDriver |
|
) |
| |
Definition at line 91 of file enable.c.
103{
107
110
111
112
114
116 {
117 RIP(
"DISP DrvEnablePDEV failed EngAllocMem\n");
119 }
120
122
123
124
126
127
128
129 if (!
bInitPDEV(ppdev, pDevmode, &GdiInfo, &DevInfo))
130 {
131 DISPDBG((0,
"DISP DrvEnablePDEV failed\n"));
132 goto error_free;
133 }
134
135
136#if 0
137
138
140 {
141
142 DISPDBG((0,
"DrvEnablePDEV failed bInitPointer\n"));
143 }
144
145#endif
146
147
148
150 {
151 RIP(
"DrvEnablePDEV failed bInitPalette\n");
152 goto error_free;
153 }
154
155
156
158
159
160
161
163
165
166
167error_free:
170}
#define memcpy(s1, s2, n)
#define UNREFERENCED_PARAMETER(P)
void * EngAllocMem(int zero, unsigned long size, int tag=0)
BOOL bInitPointer(PPDEV, DEVINFO *)
BOOL bInitPDEV(PPDEV, PDEVMODEW, GDIINFO *, DEVINFO *)
BOOL bInitPaletteInfo(PPDEV, DEVINFO *)
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
_In_ LPWSTR pwszLogAddress
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
◆ DrvEnableSurface()
Definition at line 210 of file enable.c.
212{
217#if 0
219#endif
221
222
223
224 ppdev = (
PPDEV) dhpdev;
225
227 {
228 RIP(
"DISP DrvEnableSurface failed bInitSURF\n");
230 }
231
234
235
236#if 0
238 {
240 RIP(
"DISP DrvEnableSurface failed to init the 8bpp palette\n");
242 }
245 }
247 {
250 }
252 {
255 }
256 else
257 {
260 }
261
263
264#else
266#endif
267
268
271 ulBitmapType);
272
274 {
275 RIP(
"DISP DrvEnableSurface failed EngCreateDeviceSurface\n");
277 }
278
279
280
285 (DHSURF)ppdev,
286 ppdev->pjScreen,
287 ppdev->lDeltaScreen,
289 {
290 RIP(
"DISP DrvEnableSurface failed EngModifySurface\n");
292 }
293
294 ppdev->hsurfEng = hsurf;
295
297 if (hSurfBitmap ==
NULL)
298 {
299 RIP(
"DISP DrvEnableSurface failed EngCreateBitmap\n");
301 }
302
304 ppdev->hdevEng,
307 (DHSURF)ppdev,
308 ppdev->pjScreen,
309 ppdev->lDeltaScreen,
311 {
312 RIP(
"DISP DrvEnableSurface failed second EngModifySurface\n");
314 }
315
317 if (ppdev->pso ==
NULL)
318 {
319 RIP(
"DISP DrvEnableSurface failed EngLockSurface\n");
321 }
322
323 return hsurf;
324}
BOOL bInit256ColorPalette(PPDEV)
ENGAPI SURFOBJ *APIENTRY EngLockSurface(_In_ HSURF hsurf)
ENGAPI HBITMAP APIENTRY EngCreateBitmap(_In_ SIZEL sizl, _In_ LONG lWidth, _In_ ULONG iFormat, _In_ FLONG fl, _In_opt_ PVOID pvBits)
_Must_inspect_result_ ENGAPI HSURF APIENTRY EngCreateDeviceSurface(_In_ DHSURF dhsurf, _In_ SIZEL sizl, _In_ ULONG iFormatCompat)
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
◆ DrvGetModes()
Definition at line 420 of file enable.c.
425{
426
432
434
437 &cbModeSize);
438
439 if (cModes == 0)
440 {
441 DISPDBG((0,
"DrvGetModes failed to get mode information"));
442 return 0;
443 }
444
446 {
448 }
449 else
450 {
451
452
453
454
455
456 cbOutputSize = 0;
457
458 pVideoTemp = pVideoModeInformation;
459
460 do
461 {
462 if (pVideoTemp->
Length != 0)
463 {
464 if (cOutputModes == 0)
465 {
466 break;
467 }
468
469
470
471
472
474
475
476
477
478
480
485
492
498
499
500
501
502
503 cOutputModes--;
504
507
509
510 }
511
513 (((
PUCHAR)pVideoTemp) + cbModeSize);
514
515 } while (--cModes);
516 }
517
519
520 return cbOutputSize;
521
522}
struct _VIDEO_MODE_INFORMATION * PVIDEO_MODE_INFORMATION
WCHAR dmDeviceName[CCHDEVICENAME]
#define DRIVER_EXTRA_SIZE
DWORD getAvailableModes(IN HANDLE Driver, OUT PVIDEO_MODE_INFORMATION *modeInformation, OUT DWORD *ModeSize)
#define DM_DISPLAYFREQUENCY
struct _devicemodeW * LPDEVMODEW
struct _devicemodeW DEVMODEW
◆ gadrvfn
Initial value:=
{
}
LONG_PTR(APIENTRY * PFN)()
FN_DrvSetPalette DrvSetPalette
#define INDEX_DrvDisableSurface
FN_DrvGetModes DrvGetModes
#define INDEX_DrvCompletePDEV
#define INDEX_DrvSetPalette
FN_DrvEnableSurface DrvEnableSurface
#define INDEX_DrvEnablePDEV
FN_DrvCompletePDEV DrvCompletePDEV
#define INDEX_DrvAssertMode
FN_DrvEnablePDEV DrvEnablePDEV
FN_DrvAssertMode DrvAssertMode
FN_DrvDisableSurface DrvDisableSurface
FN_DrvDisablePDEV DrvDisablePDEV
#define INDEX_DrvEnableSurface
#define INDEX_DrvDisablePDEV
#define INDEX_DrvGetModes
Definition at line 14 of file enable.c.
Referenced by BmfdEnableDriver(), DrvEnableDriver(), and FtfdEnableDriver().