reactos/sdk/include/psdk/shellscalingapi.h
Carl J. Bialorucki a753f34e30
[PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)
- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
2025-07-05 15:14:31 -06:00

64 lines
2 KiB
C

/*
* PROJECT: ReactOS SDK
* LICENSE: MIT (https://spdx.org/licenses/MIT)
* PURPOSE: API definitions for api-ms-win-shcore-scaling-l1-1-1.dll
* COPYRIGHT: Copyright 2025 Carl Bialorucki (carl.bialorucki@reactos.org)
*/
#pragma once
#include <shtypes.h>
typedef enum
{
MDT_EFFECTIVE_DPI,
MDT_ANGULAR_DPI,
MDT_RAW_DPI,
MDT_DEFAULT = MDT_EFFECTIVE_DPI
} MONITOR_DPI_TYPE;
typedef enum
{
PROCESS_DPI_UNAWARE,
PROCESS_SYSTEM_DPI_AWARE,
PROCESS_PER_MONITOR_DPI_AWARE
} PROCESS_DPI_AWARENESS;
typedef enum
{
DEVICE_PRIMARY,
DEVICE_IMMERSIVE,
} DISPLAY_DEVICE_TYPE;
typedef enum
{
SCF_VALUE_NONE,
SCF_SCALE,
SCF_PHYSICAL,
} SCALE_CHANGE_FLAGS;
#if (NTDDI_VERSION >= NTDDI_WIN8)
DEVICE_SCALE_FACTOR WINAPI GetScaleFactorForDevice(_In_ DISPLAY_DEVICE_TYPE deviceType);
HRESULT WINAPI RegisterScaleChangeNotifications(_In_ DISPLAY_DEVICE_TYPE displayDevice, _In_ HWND hwndNotify, _In_ UINT uMsgNotify, _Out_ DWORD *pdwCookie);
HRESULT WINAPI RevokeScaleChangeNotifications(_In_ DISPLAY_DEVICE_TYPE displayDevice, _In_ DWORD dwCookie);
#endif // (NTDDI_VERSION >= NTDDI_WIN8)
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
HRESULT WINAPI GetScaleFactorForMonitor(_In_ HMONITOR hMon, _Out_ DEVICE_SCALE_FACTOR *pScale);
HRESULT WINAPI RegisterScaleChangeEvent(_In_ HANDLE hEvent, _Out_ DWORD_PTR *pdwCookie);
HRESULT WINAPI UnregisterScaleChangeEvent(_In_ DWORD_PTR dwCookie);
HRESULT WINAPI SetProcessDpiAwareness(_In_ PROCESS_DPI_AWARENESS value);
HRESULT WINAPI GetProcessDpiAwareness(_In_opt_ HANDLE hprocess, _Out_ PROCESS_DPI_AWARENESS *value);
HRESULT WINAPI GetDpiForMonitor(_In_ HMONITOR hmonitor, _In_ MONITOR_DPI_TYPE dpiType, _Out_ UINT *dpiX, _Out_ UINT *dpiY);
#endif // (NTDDI_VERSION >= NTDDI_WINBLUE)
#if (NTDDI_VERSION >= NTDDI_WIN10)
typedef enum
{
SHELL_UI_COMPONENT_TASKBARS,
SHELL_UI_COMPONENT_NOTIFICATIONAREA,
SHELL_UI_COMPONENT_DESKBAND,
} SHELL_UI_COMPONENT;
UINT WINAPI GetDpiForShellUIComponent(_In_ SHELL_UI_COMPONENT);
#endif // (NTDDI_VERSION >= NTDDI_WIN10)