36#define MAX_ITEM_COUNT 1000
37#define WATCH_TIMER_ID 0xFEEDBEEF
38#define WATCH_INTERVAL 300
51 {
L"http://www.", 11 },
132 return s1.CompareNoCase(
s2);
183 if (
list.GetSize() <= 1)
236 static const RANGE s_ranges[] =
238 { 0x0009, 0x0009 }, { 0x0020, 0x002f }, { 0x003a, 0x0040 }, { 0x005b, 0x0060 },
239 { 0x007b, 0x007e }, { 0x00ab, 0x00ab }, { 0x00ad, 0x00ad }, { 0x00bb, 0x00bb },
240 { 0x02c7, 0x02c7 }, { 0x02c9, 0x02c9 }, { 0x055d, 0x055d }, { 0x060c, 0x060c },
241 { 0x2002, 0x200b }, { 0x2013, 0x2014 }, { 0x2016, 0x2016 }, { 0x2018, 0x2018 },
242 { 0x201c, 0x201d }, { 0x2022, 0x2022 }, { 0x2025, 0x2027 }, { 0x2039, 0x203a },
243 { 0x2045, 0x2046 }, { 0x207d, 0x207e }, { 0x208d, 0x208e }, { 0x226a, 0x226b },
244 { 0x2574, 0x2574 }, { 0x3001, 0x3003 }, { 0x3005, 0x3005 }, { 0x3008, 0x3011 },
245 { 0x3014, 0x301b }, { 0x301d, 0x301e }, { 0x3041, 0x3041 }, { 0x3043, 0x3043 },
246 { 0x3045, 0x3045 }, { 0x3047, 0x3047 }, { 0x3049, 0x3049 }, { 0x3063, 0x3063 },
247 { 0x3083, 0x3083 }, { 0x3085, 0x3085 }, { 0x3087, 0x3087 }, { 0x308e, 0x308e },
248 { 0x309b, 0x309e }, { 0x30a1, 0x30a1 }, { 0x30a3, 0x30a3 }, { 0x30a5, 0x30a5 },
249 { 0x30a7, 0x30a7 }, { 0x30a9, 0x30a9 }, { 0x30c3, 0x30c3 }, { 0x30e3, 0x30e3 },
250 { 0x30e5, 0x30e5 }, { 0x30e7, 0x30e7 }, { 0x30ee, 0x30ee }, { 0x30f5, 0x30f6 },
251 { 0x30fc, 0x30fe }, { 0xfd3e, 0xfd3f }, { 0xfe30, 0xfe31 }, { 0xfe33, 0xfe44 },
252 { 0xfe4f, 0xfe51 }, { 0xfe59, 0xfe5e }, { 0xff08, 0xff09 }, { 0xff0c, 0xff0c },
253 { 0xff0e, 0xff0e }, { 0xff1c, 0xff1c }, { 0xff1e, 0xff1e }, { 0xff3b, 0xff3b },
254 { 0xff3d, 0xff3d }, { 0xff40, 0xff40 }, { 0xff5b, 0xff5e }, { 0xff61, 0xff64 },
255 { 0xff67, 0xff70 }, { 0xff9e, 0xff9f }, { 0xffe9, 0xffe9 }, { 0xffeb, 0xffeb },
344 if (hwndGotFocus !=
m_hwndEdit && hwndGotFocus != m_hWnd)
384 _AtlBaseModule.GetModuleInstance(),
NULL);
388 SetExtendedListViewStyle(exstyle, exstyle);
443 return HitTest(&hittest);
470 TRACE(
"CACListView::OnButtonUp(%p)\n",
this);
478 TRACE(
"CACListView::OnLButtonDown(%p)\n",
this);
495 TRACE(
"CACListView::OnMRButtonDown(%p)\n",
this);
502 TRACE(
"CACListView::OnMouseWheel(%p)\n",
this);
512 TRACE(
"CACListView::OnNCHitTest(%p)\n",
this);
517 if (hwndTarget != m_hWnd)
532 _AtlBaseModule.GetModuleInstance(),
NULL);
546 _AtlBaseModule.GetModuleInstance(),
NULL);
627 for (
INT delta = cxy / 4; delta < cxy; delta += cxy / 4)
655 , m_bDowner(
TRUE), m_dwOptions(ACO_AUTOAPPEND | ACO_AUTOSUGGEST)
657 , m_hwndEdit(
NULL), m_fnOldEditProc(
NULL), m_fnOldWordBreakProc(
NULL)
668 TRACE(
"CAutoComplete::CreateDropDown(%p): m_hWnd=%p, m_hwndEdit=%p\n",
675 TRACE(
"CAutoComplete::~CAutoComplete(%p)\n",
this);
750 return strText.
Left(ich + 1);
802 for (
INT iItem = 0; iItem < cItems; ++iItem)
820 if (
ChrCmpIW(strCommon[ich], strBody[ich]) != 0)
822 strCommon = strCommon.
Left(ich);
842 if (
ChrCmpIW(strCommon[ich], strItem[ich]) != 0)
844 strCommon = strCommon.
Left(ich);
867 reinterpret_cast<WPARAM>(&ich0),
reinterpret_cast<LPARAM>(&ich1));
868 if (ich0 <= 0 || ich0 != ich1)
893 BOOL bShowScroll = (cItems > cVisibles);
901 TRACE(
"CAutoComplete::OnEditKeyDown(%p, %p)\n",
this,
wParam);
991 TRACE(
"CACEditCtrl::OnEditChar(%p, %p)\n",
this,
wParam);
1031 else if (iItem == 0)
1040 else if (iItem == cItems - 1)
1051 else if (iItem == 0)
1068 else if (iItem == cItems - 1)
1096 TRACE(
"(%p)->Enable(%d)\n",
this, fEnable);
1103 LPCOLESTR pwszRegKeyPath, LPCOLESTR pwszQuickComplete)
1105 TRACE(
"(%p)->Init(0x%08lx, %p, %s, %s)\n",
1163 TRACE(
"(%p) -> (%p)\n",
this, pdwFlag);
1175 TRACE(
"(%p) -> (0x%x)\n",
this, dwFlag);
1179 FIXME(
" ACO_SEARCH not supported\n");
1181 FIXME(
" ACO_FILTERPREFIXES not supported\n");
1183 FIXME(
" ACO_RTLREADING not supported\n");
1198 *pdwFlags = (
dropped ? ACDD_VISIBLE : 0);
1202 *ppwszString =
NULL;
1215 if (*ppwszString ==
NULL)
1226 FIXME(
"(%p): stub\n",
this);
1240 TRACE(
"(%p, %d, %p, %p)\n",
this, celt, rgelt, pceltFetched);
1245 if (celt != 1 || !rgelt || !pceltFetched || !
m_pEnum)
1253 ::CoTaskMemFree(pszText);
1260 TRACE(
"(%p, %d)\n",
this, celt);
1267 TRACE(
"(%p)\n",
this);
1276 TRACE(
"(%p, %p)\n",
this, ppOut);
1313 rcScrollBar = rcClient;
1317 rcScrollBar.
top = 0;
1326 rcSizeBox = rcClient;
1358 if (szValue[0] != 0 && cbValue != 0 &&
1436 cy = ((rcMon.
bottom -
y) / cyItem) * cyItem;
1444 cy = ((rcEdit.
top - rcMon.
top) / cyItem) * cyItem;
1467 for (
INT iItem = 0; iItem < innerList.
GetSize(); ++iItem)
1472 const CStringW& strTarget = innerList[iItem];
1475 outerList.
Add(strTarget);
1502 innerList.
Add(pszItem);
1509 TRACE(
"CAutoComplete::StartCompletion(%p, %d)\n",
this, bAppendOK);
1525 TRACE(
"CAutoComplete::OnCreate(%p)\n",
this);
1560 TRACE(
"CAutoComplete::OnNCDestroy(%p)\n",
this);
1595 TRACE(
"CAutoComplete::OnExitSizeMove(%p)\n",
this);
1722 TRACE(
"NM_DBLCLK\n");
1742 TRACE(
"LVN_GETDISPINFOA\n");
1747 LV_ITEMA *pItem = &pDispInfo->item;
1748 INT iItem = pItem->iItem;
1759 TRACE(
"LVN_GETDISPINFOW\n");
1764 LV_ITEMW *pItem = &pDispInfo->item;
1765 INT iItem = pItem->iItem;
1776 TRACE(
"LVN_HOTTRACK\n");
1779 TRACE(
"LVN_HOTTRACK: iItem:%d\n", iItem);
1786 TRACE(
"LVN_ITEMACTIVATE\n");
1789 TRACE(
"LVN_ITEMACTIVATE: iItem:%d\n", iItem);
1799 TRACE(
"LVN_ITEMCHANGED\n");
1821 TRACE(
"CAutoComplete::OnNCHitTest(%p)\n",
this);
1838 CRect rcList, rcScrollBar, rcSizeBox;
1845 rcScrollBar.
left, rcScrollBar.
top,
1846 rcScrollBar.
Width(), rcScrollBar.
Height(), uSWP_);
1848 rcSizeBox.
left, rcSizeBox.
top,
1945 TRACE(
"CAutoComplete::OnVScroll(%p)\n",
this);
1963 if (iItem >= cItems)
2079 TRACE(
"m_pEnum->Reset(%p): 0x%08lx\n",
2087 TRACE(
"m_pACList->Expand(%p, %S): 0x%08lx\n",
static const PREFIX_INFO s_prefixes[]
static int RangeCompare(const void *x, const void *y)
static INT partition(list_t &list, INT i, INT j, const CStringW &x)
static unsigned __stdcall AutoCompThreadProc(void *arg)
static INT CALLBACK EditWordBreakProcW(LPWSTR lpch, INT index, INT count, INT code)
static INT pivot(list_t &list, INT i, INT j)
CSimpleArray< CStringW > list_t
static PAC_THREAD InterlockedExchangeThreadData(volatile PAC_THREAD *Target, PAC_THREAD Value)
static LRESULT CALLBACK EditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uSubclassID, DWORD_PTR dwData)
static void DoUniqueAndTrim(list_t &list)
static BOOL DoesMatch(const CStringW &strTarget, const CStringW &strText)
static INT compare1(const CStringW &str1, const CStringW &str2)
static void DoSort(list_t &list)
static BOOL IsWordBreak(WCHAR ch)
static BOOL DropPrefix(const CStringW &str, CStringW &strBody)
static INT DoUnique(list_t &list)
static HHOOK s_hMouseHook
static LRESULT CALLBACK MouseProc(INT nCode, WPARAM wParam, LPARAM lParam)
static void quicksort(list_t &list, INT i, INT j)
int CompareNoCase(_In_z_ PCXSTR psz) const
CStringT Left(int nCount) const
CStringT Mid(int iFirst, int nCount) const
int ReverseFind(_In_ XCHAR ch) const
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
INT ItemFromPoint(INT x, INT y)
VOID SelectHere(INT x, INT y)
HWND Create(HWND hwndParent)
static LPCWSTR GetWndClassName()
CAutoComplete * m_pDropDown
CStringW GetItemText(INT iItem)
VOID SetFont(HFONT hFont)
LRESULT OnButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnMRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetCurSel(INT iItem)
static LPCWSTR GetWndClassName()
LRESULT OnEraseBkGnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CAutoComplete * m_pDropDown
HWND Create(HWND hwndParent)
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetStatus(BOOL bDowner, BOOL bLongList)
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP Enable(BOOL fEnable) override
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL IsComboBoxDropped() const
CStringW GetEditText() const
LRESULT EditWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
VOID DoThreadWork(PAC_THREAD pThread)
VOID UpdateDropDownState()
CSimpleArray< CStringW > m_innerList
STDMETHODIMP Reset() override
VOID RepositionDropDown()
LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnVScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CStringW m_strQuickComplete
STDMETHODIMP GetOptions(DWORD *pdwFlag) override
BOOL FilterPrefixes() const
LRESULT OnExitSizeMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetEditText(LPCWSTR pszText)
LRESULT OnEditChar(WPARAM wParam, LPARAM lParam)
CComPtr< IACList > m_pACList
LRESULT OnDrawItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched) override
LRESULT OnMouseActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CStringW GetQuickEdit(LPCWSTR pszText) const
virtual VOID OnFinalMessage(HWND) override
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID AutoCompThreadProc()
STDMETHODIMP Init(HWND hwndEdit, IUnknown *punkACL, LPCOLESTR pwszRegKeyPath, LPCOLESTR pwszQuickComplete) override
VOID StartCompletion(BOOL bAppendOK)
CSimpleArray< CStringW > m_outerList
LRESULT OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP ResetEnumerator() override
EDITWORDBREAKPROCW m_fnOldWordBreakProc
BOOL OnEditKeyDown(WPARAM wParam, LPARAM lParam)
STDMETHODIMP Clone(IEnumString **ppOut) override
VOID SelectItem(INT iItem)
LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetEditSel(INT ich0, INT ich1)
LRESULT OnNCActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP GetDropDownStatus(DWORD *pdwFlags, LPWSTR *ppwszString) override
LRESULT OnAutoCompFinish(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CACScrollBar m_hwndScrollBar
BOOL OnListUpDown(UINT vk)
CStringW GetItemText(INT iItem) const
VOID ExtractInnerList(CSimpleArray< CStringW > &outerList, const CSimpleArray< CStringW > &innerList, const CString &strText)
LRESULT OnNCDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnMeasureItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnNCLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL CanAutoSuggest() const
VOID DoAutoAppend(PAC_THREAD pThread)
VOID FinishCompletion(PAC_THREAD pThread)
CComPtr< IEnumString > m_pEnum
VOID ReLoadInnerList(PAC_THREAD pThread)
CStringW GetStemText(const CStringW &strText) const
STDMETHODIMP SetOptions(DWORD dwFlag) override
VOID CalcRects(BOOL bDowner, RECT &rcListView, RECT &rcScrollBar, RECT &rcSizeBox) const
VOID LoadQuickComplete(LPCWSTR pwszRegKeyPath, LPCWSTR pwszQuickComplete)
STDMETHODIMP Skip(ULONG celt) override
LRESULT OnAutoCompStart(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL CanAutoAppend() const
static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
BOOL WINAPI SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIDSubclass, DWORD_PTR dwRef)
BOOL WINAPI RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uID)
LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
LONG WINAPI SHRegGetUSValueW(LPCWSTR pSubKey, LPCWSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData, BOOL flagIgnoreHKCU, LPVOID pDefaultData, DWORD wDefaultDataSize)
BOOL WINAPI ChrCmpIW(WCHAR ch1, WCHAR ch2)
HRESULT WINAPI SHStrDupW(LPCWSTR src, LPWSTR *dest)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
int WINAPI StrCmpIW(LPCWSTR lpszStr, LPCWSTR lpszComp)
#define InterlockedExchangePointer(Target, Value)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
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
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 GLint GLint j
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static DWORD DWORD void LPSTR DWORD cch
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HANDLE ULONG_PTR dwData
unsigned __int3264 UINT_PTR
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
const GUID IID_IEnumString
#define WS_EX_NOPARENTNOTIFY
_Out_opt_ int _Out_opt_ int * cy
#define LVS_EX_ONECLICKACTIVATE
#define LVS_NOCOLUMNHEADER
#define LVS_OWNERDRAWFIXED
#define LVS_EX_FULLROWSELECT
#define LVS_EX_TRACKSELECT
_CRTIMP uintptr_t __cdecl _beginthreadex(_In_opt_ void *_Security, _In_ unsigned _StackSize, _In_ unsigned(__stdcall *_StartAddress)(void *), _In_opt_ void *_ArgList, _In_ unsigned _InitFlag, _Out_opt_ unsigned *_ThrdAddr)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
CSimpleArray< CStringW > m_outerList
CSimpleArray< CStringW > m_innerList
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
DWORD WINAPI GetCurrentThreadId(void)
#define SubclassWindow(hwnd, lpfn)
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
HGDIOBJ WINAPI GetStockObject(_In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
HRGN WINAPI PathToRegion(_In_ HDC)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
BOOL WINAPI EndPath(_In_ HDC)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI BeginPath(_In_ HDC hdc)
HWND WINAPI GetFocus(void)
HWND WINAPI ChildWindowFromPoint(_In_ HWND, _In_ POINT)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
int WINAPI SetWindowRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
#define SW_SHOWNOACTIVATE
HWND WINAPI GetCapture(void)
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
BOOL WINAPI ShowWindowAsync(_In_ HWND, _In_ int)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
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 EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
#define EM_SETWORDBREAKPROC
#define COLOR_HIGHLIGHTTEXT
HDC WINAPI GetDC(_In_opt_ HWND)
int(CALLBACK * EDITWORDBREAKPROCW)(LPWSTR, int, int, int)
#define CB_GETDROPPEDSTATE
HWND WINAPI GetParent(_In_ HWND)
int WINAPI GetClassNameW(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName, _In_ int nMaxCount)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
SHORT WINAPI GetKeyState(_In_ int)
HDWP WINAPI BeginDeferWindowPos(_In_ int)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)