106 return pentry->
pUser;
115 printf(
"Available display modes:\n");
118 printf(
" %ux%u @ %u bpp, freq: %u Hz\n",
132 printf(
"EnumDisplaySettingsW failed\n");
136 printf(
"ChangeScreenBpp(%lu): Old display settings: %ux%u @ %u bpp\n",
146 printf(
"Failed to change display settings.\n");
153 printf(
"ChangeScreenBpp(%lu): New display settings: %ux%u @ %u bpp\n",
159#define FL_INVERT_COLORS 0x01
160#define FL_RED_BLUE 0x02
177 ULONG bmiColors[256];
181 if (phbmpDDB !=
NULL)
185 if (*phbmpDDB ==
NULL)
187 printf(
"CreateBitmap failed %lu\n", cBitsPerPixel);
193 memset(&bmiBuffer, 0,
sizeof(bmiBuffer));
206 if (cBitsPerPixel == 1)
210 bmiBuffer.bmiColors[0] =
RGB(0xFF, 0x00, 0x00);
211 bmiBuffer.bmiColors[1] =
RGB(0x00, 0x00, 0xFF);
215 bmiBuffer.bmiColors[0] = 0xFFFFFF;
216 bmiBuffer.bmiColors[1] = 0;
220 bmiBuffer.bmiColors[0] = 0;
221 bmiBuffer.bmiColors[1] = 0xFFFFFF;
228 if (*phdcDIB ==
NULL)
230 printf(
"CreateCompatibleDC failed %lu\n", cBitsPerPixel);
236 if (*phbmpDIB ==
NULL)
238 printf(
"CreateDIBSection failed. %lu\n", cBitsPerPixel);
244 printf(
"SelectObject failed for %lu bpp DIB\n", cBitsPerPixel);
257 printf(
"failed to create a palette\n");
270 printf(
"failed to create objects\n");
280 printf(
"failed to create info DC\n");
enum GDILoObjType GDILOOBJTYPE
_In_ HBITMAP _In_ UINT _In_ UINT _Inout_ LPBITMAPINFO pbmi
_Out_opt_ int _Out_opt_ int * cy
union _ENTRY::_EINFO einfo
PVOID GdiSharedHandleTable
PPEB ProcessEnvironmentBlock
BITMAPINFOHEADER bmiHeader
struct _BASEOBJECT * pobj
_In_ WDFCOLLECTION _In_ ULONG Index
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
BOOL WINAPI EnumDisplaySettingsW(LPCWSTR lpszDeviceName, DWORD iModeNum, LPDEVMODEW lpDevMode)
LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW lpDevMode, DWORD dwflags)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
HPALETTE WINAPI CreatePalette(_In_reads_(_Inexpressible_(2 *sizeof(WORD)+plpal->palNumEntries *sizeof(PALETTEENTRY))) const LOGPALETTE *)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
struct tagBITMAPINFO * LPBITMAPINFO
HDC WINAPI CreateDCW(_In_opt_ LPCWSTR pszDriver, _In_opt_ LPCWSTR pszDevice, _In_opt_ LPCWSTR psz, _In_opt_ const DEVMODEW *pdmInit)
#define DISP_CHANGE_SUCCESSFUL
#define ENUM_CURRENT_SETTINGS