111 delete[] pIconContext->phIcons;
127 pIconContext->phIcons =
new HICON[pIconContext->nIcons];
129 if (
ExtractIconExW(szExpandedPath, 0, pIconContext->phIcons,
NULL, pIconContext->nIcons))
135 pIconContext->nIcons = 0;
141 pIconContext->nIcons = 1;
142 pIconContext->phIcons =
new HICON[1];
144 if (
ExtractIconExW(szExpandedPath, 0, pIconContext->phIcons,
NULL, pIconContext->nIcons))
150 pIconContext->nIcons = 0;
158 if (pIconContext->nIcons == 0)
160 delete[] pIconContext->phIcons;
161 pIconContext->phIcons =
NULL;
164 return (pIconContext->nIcons > 0);
179#define CX_ICON GetSystemMetrics(SM_CXICON)
180#define CY_ICON GetSystemMetrics(SM_CYICON)
183#define CX_ITEM (CX_ICON + 4)
184#define CY_ITEM (CY_ICON + 12)
213 if (!
DoLoadIcons(hwndDlg, pIconContext, pIconContext->szPath))
220 if (pIconContext->Index < 0)
227 if (pIconContext->Index < 0 || count <= pIconContext->
Index)
228 pIconContext->Index = 0;
241 delete[] pIconContext->phIcons;
373 IconContext.
Index = *lpdwIconIndex;
377 if (!szExpandedPath[0] ||
380 if (szExpandedPath[0])
398 *lpdwIconIndex = IconContext.
Index;
451 while (*
src && *
src !=
'"')
470 else if (*
src ==
'\\')
523 if (prfdp->lpstrTitle)
525 if (prfdp->lpstrDescription)
537 FIXME(
"RFF_NOSEPARATEMEM not supported\n");
541 if (prfdp->hIcon ==
NULL)
558 ComboInfo.
cbSize =
sizeof(ComboInfo);
572 if (prfdp->bCoInited)
641 if (prfdp->lpstrDirectory)
644 pszStartDir = prfdp->lpstrDirectory;
672 nmrfd.
lpFile = pszExpanded;
717 if (psz != pszExpanded)
730 WCHAR szFName[1024] = {0};
750 ERR(
"Couldn't get GetOpenFileName function entry (lib=%p, proc=%p)\n", hComdlg, ofnProc);
794 DWORD dwType, icList = 0, icCmd = 0;
805 cchLatest =
wcslen(pszLatest);
806 if (cchStr < cchLatest + 2 + 1)
808 TRACE(
"pszLatest buffer is not large enough (%d) to hold the MRU terminator.\n", cchStr);
820 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU",
834 TRACE(
"HeapAlloc failed to allocate %d bytes\n", icList);
849 icList =
sizeof(
WCHAR);
853 TRACE(
"HeapAlloc failed to allocate %d bytes\n", icList);
861 icList /=
sizeof(
WCHAR);
863 for (Nix = 0; Nix < icList - 1; Nix++)
865 if (pszList[Nix] > cMax)
868 szIndex[0] = pszList[Nix];
882 TRACE(
"HeapReAlloc failed to reallocate %d bytes\n", icCmd);
892 TRACE(
"HeapAlloc failed to allocate %d bytes\n", icCmd);
928 if (
_wcsicmp(pszCmd, pszLatest) == 0)
934 cMatch = pszList[Nix];
941 if (icList - 1 != 26 || icList - 2 != Nix || cMatch || pszLatest ==
NULL)
944 if (!Nix && fShowDefault)
956 cMatch = pszList[Nix];
961 wcscpy(&pszLatest[cchLatest],
L"\\1");
963 pszLatest[cchLatest] =
L'\0';
967 if (!cMatch && pszLatest !=
NULL)
980 TRACE(
"HeapReAlloc failed to reallocate enough bytes\n");
990 TRACE(
"HeapAlloc failed to allocate enough bytes\n");
995 memmove(&pszList[1], pszList, (icList - 1) *
sizeof(
WCHAR));
999 wcscpy(&pszLatest[cchLatest],
L"\\1");
1001 pszLatest[cchLatest] =
L'\0';
1065 &
tp.Privileges[0].Luid);
1068 tp.PrivilegeCount = 1;
1084 TRACE(
"(%p)\n", hWndOwner);
1086 CComPtr<IUnknown> fadeHandler;
1104#define IS_PRODUCT_VERSION_WORKSTATION 0x300
1105#define FRIENDLY_LOGOFF_IS_NOT_ENFORCED 0x0
1107#define FONT_POINT_SIZE 13
1109#define DARK_GREY_COLOR RGB(244, 244, 244)
1110#define LIGHT_GREY_COLOR RGB(38, 38, 38)
1116#define NUMBER_OF_BUTTONS 2
1119#define BUTTON_SWITCH_USER 0
1120#define BUTTON_SWITCH_USER_PRESSED (CY_BITMAP + BUTTON_SWITCH_USER)
1121#define BUTTON_SWITCH_USER_FOCUSED (CY_BITMAP + BUTTON_SWITCH_USER_PRESSED)
1122#define BUTTON_LOG_OFF (CY_BITMAP + BUTTON_SWITCH_USER_FOCUSED)
1123#define BUTTON_LOG_OFF_PRESSED (CY_BITMAP + BUTTON_LOG_OFF)
1124#define BUTTON_LOG_OFF_FOCUSED (CY_BITMAP + BUTTON_LOG_OFF_PRESSED)
1125#define BUTTON_SWITCH_USER_DISABLED (CY_BITMAP + BUTTON_LOG_OFF_FOCUSED)
1128#define LOG_OFF_BUTTON_HOT 0
1129#define SWITCH_USER_BUTTON_HOT 1
1144 switch (pdis->
CtlID)
1251 if (hwndTarget != hButton)
1293 WCHAR szBuffer[256];
1298 tool.
cbSize =
sizeof(tool);
1341 L"SYSTEM\\CurrentControlSet\\Control\\Windows",
1352 dwSize =
sizeof(dwValue);
1354 L"EnforceFriendlyLogoff",
1368 dwSize =
sizeof(dwValue);
1385 L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",
1393 dwSize =
sizeof(dwValue);
1405 return (dwValue != 0);
1416 pContext->
hfFont =
CreateFontW(lfHeight, 0, 0, 0,
FW_MEDIUM,
FALSE, 0, 0, 0, 0, 0, 0, 0,
L"MS Shell Dlg");
1458 if (pContext->bFriendlyUI)
1526 switch (pdis->
CtlID)
1547 CComPtr<IUnknown> fadeHandler;
1587 TRACE(
"(%p)\n", hWndOwner);
1613 TRACE(
"(%p)\n", hWndOwner);
1615 CComPtr<IUnknown> fadeHandler;
1624 TRACE(
"Unable to load msgina.dll.\n");
1629 ShellShFunc pShellShutdownDialog = (ShellShFunc)
GetProcAddress(msginaDll,
"ShellShutdownDialog");
1631 if (pShellShutdownDialog)
1636 switch (returnValue)
1689 TRACE(
"Unable to find the 'ShellShutdownDialog' function");
std::map< E_MODULE, HMODULE > mod
tShellDimScreen ShellDimScreen
#define shell32_hInstance
#define SECL_ALLOW_NONEXE
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
#define RegCloseKey(hKey)
#define OFN_FILEMUSTEXIST
#define OFN_PATHMUSTEXIST
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
BOOL WINAPI LookupPrivilegeValueW(LPCWSTR lpSystemName, LPCWSTR lpPrivilegeName, PLUID lpLuid)
BOOL WINAPI AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
static const WCHAR Title[]
#define GetProcAddress(x, y)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
BOOL WINAPI EnumResourceNamesW(HMODULE hmod, LPCWSTR type, ENUMRESNAMEPROCW lpfun, LONG_PTR lparam)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
#define IDC_RUNDLG_BROWSE
EXTERN_C int WINAPI LogoffWindowsDialog(HWND hWndOwner)
#define BUTTON_SWITCH_USER_DISABLED
VOID CreateToolTipForButtons(int controlID, int detailID, HWND hDlg, int titleID)
BOOL CALLBACK EnumPickIconResourceProc(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LONG_PTR lParam)
static LPWSTR RunDlg_GetParentDir(LPCWSTR cmdline)
BOOL DrawIconOnOwnerDrawnButtons(DRAWITEMSTRUCT *pdis, PLOGOFF_DLG_CONTEXT pContext)
static void FillList(HWND, LPWSTR, UINT, BOOL)
int WINAPI RestartDialogEx(HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, DWORD uReason)
static void DestroyIconList(HWND hDlgCtrl, PPICK_ICON_CONTEXT pIconContext)
INT_PTR CALLBACK PickIconProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL IsFriendlyUIActive(VOID)
static BOOL EnablePrivilege(LPCWSTR lpszPrivilegeName, BOOL bEnablePrivilege)
BOOL WINAPI PickIconDlg(HWND hWndOwner, LPWSTR lpstrFile, UINT nMaxFile, INT *lpdwIconIndex)
void WINAPI ExitWindowsDialog(HWND hWndOwner)
#define LOG_OFF_BUTTON_HOT
VOID ExitWindowsDialog_backup(HWND hWndOwner)
#define BUTTON_SWITCH_USER
#define BUTTON_LOG_OFF_FOCUSED
static BOOL DoLoadIcons(HWND hwndDlg, PPICK_ICON_CONTEXT pIconContext, LPCWSTR pszFile)
BOOL(WINAPI * LPFNOFN)(OPENFILENAMEW *)
struct LOGOFF_DLG_CONTEXT * PLOGOFF_DLG_CONTEXT
VOID EndFriendlyDialog(HWND hwnd, PLOGOFF_DLG_CONTEXT pContext)
INT_PTR CALLBACK OwnerDrawButtonSubclass(HWND hButton, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define IS_PRODUCT_VERSION_WORKSTATION
BOOL CallShellDimScreen(IUnknown **pUnknown, HWND *hWindow)
#define NUMBER_OF_BUTTONS
static void EnableOkButtonFromEditContents(HWND hwnd)
static void NoIconsInFile(HWND hwndDlg, PPICK_ICON_CONTEXT pIconContext)
INT_PTR CALLBACK LogOffDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct PICK_ICON_CONTEXT * PPICK_ICON_CONTEXT
static VOID FancyLogoffOnInit(HWND hwnd, PLOGOFF_DLG_CONTEXT pContext)
#define SWITCH_USER_BUTTON_HOT
static BOOL ConfirmDialog(HWND hWndOwner, UINT PromptId, UINT TitleId)
#define BUTTON_SWITCH_USER_PRESSED
#define BUTTON_LOG_OFF_PRESSED
#define FRIENDLY_LOGOFF_IS_NOT_ENFORCED
HRESULT(WINAPI * tShellDimScreen)(IUnknown **Unknown, HWND *hWindow)
#define BUTTON_SWITCH_USER_FOCUSED
static INT_PTR CALLBACK RunDlgProc(HWND, UINT, WPARAM, LPARAM)
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
int WINAPI RestartDialog(HWND hWndOwner, LPCWSTR lpstrReason, DWORD uFlags)
BOOL WINAPI StrTrimW(LPWSTR lpszStr, LPCWSTR lpszTrim)
static const WCHAR Cleanup[]
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define memmove(s1, s2, n)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
unsigned __int3264 UINT_PTR
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#define REG_OPTION_NON_VOLATILE
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
@ COINIT_APARTMENTTHREADED
BOOLEAN WINAPI IsPwrHibernateAllowed(VOID)
BOOLEAN WINAPI SetSuspendState(BOOLEAN Hibernate, BOOLEAN ForceCritical, BOOLEAN DisableWakeEvent)
BOOLEAN WINAPI IsPwrSuspendAllowed(VOID)
#define TTM_SETMAXTIPWIDTH
#define RFF_CALCDIRECTORY
#define RFF_NOSEPARATEMEM
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
HRESULT WINAPI SHAutoComplete(HWND hwndEdit, DWORD dwFlags)
#define SHACF_FILESYS_ONLY
#define IDS_SHUTDOWN_TITLE
#define IDS_LOG_OFF_TITLE
#define IDS_RESTART_TITLE
#define IDC_LOG_OFF_BUTTON
#define IDS_SHUTDOWN_PROMPT
#define IDS_FILE_NOT_FOUND
#define IDS_RUNDLG_BROWSE_FILTER
#define IDC_LOG_OFF_TEXT_STATIC
#define IDC_LOG_OFF_STATIC
#define IDC_PICKICON_LIST
#define IDC_RUNDLG_EDITPATH
#define IDS_RUNDLG_BROWSE_CAPTION
#define IDS_PICK_ICON_TITLE
#define IDC_SWITCH_USER_BUTTON
#define IDS_RUNDLG_BROWSE_ERROR
#define IDC_RUNDLG_DESCRIPTION
#define IDS_PICK_ICON_FILTER
#define IDC_SWITCH_USER_STATIC
#define IDD_LOG_OFF_FANCY
#define IDS_RESTART_PROMPT
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
#define INVALID_FILE_ATTRIBUTES
_In_ WDFCOLLECTION _In_ ULONG Index
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
DWORD WINAPI GetLastError(void)
#define LOAD_LIBRARY_AS_DATAFILE
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
HFONT WINAPI CreateFontW(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCWSTR)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define WM_CTLCOLORSTATIC
#define LB_FINDSTRINGEXACT
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
struct tagMEASUREITEMSTRUCT * LPMEASUREITEMSTRUCT
BOOL WINAPI ReleaseCapture(void)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define IS_INTRESOURCE(i)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
HWND WINAPI GetCapture(void)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define LB_SETCOLUMNWIDTH
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI GetComboBoxInfo(_In_ HWND, _Inout_ PCOMBOBOXINFO)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HDC WINAPI GetDC(_In_opt_ HWND)
int WINAPI GetWindowTextLengthW(_In_ HWND)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD)
HWND WINAPI WindowFromPoint(_In_ POINT)
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define MAKEINTRESOURCEW(i)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
HBITMAP WINAPI LoadBitmapW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define SetWindowLongPtrW
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SendDlgItemMessage
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI DestroyIcon(_In_ HICON)
#define TOKEN_ADJUST_PRIVILEGES
#define SE_PRIVILEGE_ENABLED