27#define NUM_MSG_SEQUENCES 1
28#define PAGER_SEQ_INDEX 0
39static CHAR large_a[] =
"You should have received a copy of the GNU Lesser General Public License along with this ...";
42 'Y',
'o',
'u',
' ',
's',
'h',
'o',
'u',
'l',
'd',
' ',
'h',
'a',
'v',
'e',
' ',
'r',
'e',
'c',
'e',
'i',
'v',
'e',
43 'd',
' ',
'a',
' ',
'c',
'o',
'p',
'y',
' ',
'o',
'f',
' ',
't',
'h',
'e',
' ',
'G',
'N',
'U',
' ',
'L',
'e',
's',
44 's',
'e',
'r',
' ',
'G',
'e',
'n',
'e',
'r',
'a',
'l',
' ',
'P',
'u',
'b',
'l',
'i',
'c',
' ',
'L',
'i',
'c',
'e',
45 'n',
's',
'e',
' ',
'a',
'l',
'o',
'n',
'g',
' ',
'w',
'i',
't',
'h',
' ',
't',
'h',
'i',
's',
' ',
'.',
'.',
'.', 0
49 'Y',
'o',
'u',
' ',
's',
'h',
'o',
'u',
'l',
'd',
' ',
'h',
'a',
'v',
'e',
' ',
'r',
'e',
'c',
'e',
'i',
'v',
50 'e',
'd',
' ',
'a',
' ',
'c',
'o',
'p',
'y',
' ',
'o',
'f',
' ',
't',
'h',
'e',
' ',
'G',
'N',
'U',
' ',
'L',
51 'e',
's',
's',
'e',
'r',
' ',
'G',
'e',
'n',
'e',
'r',
'a',
'l',
' ',
'P',
'u',
'b',
'l',
'i',
'c', 0
55 'Y',
'o',
'u',
' ',
's',
'h',
'o',
'u',
'l',
'd',
' ',
'h',
'a',
'v',
'e',
' ',
'r',
'e',
'c',
'e',
56 'i',
'v',
'e',
'd',
' ',
'a',
' ',
'c',
'o',
'p',
'y',
' ',
'o',
'f',
' ',
't',
'h',
'e',
' ',
'G',
57 'N',
'U',
' ',
'L',
'e',
's',
's',
'e',
'r',
' ',
'G',
'e',
'n',
'e',
'r',
'a',
'l',
' ',
'P',
'u',
58 'b',
'l',
'i',
'c',
' ',
'L',
'i',
'c',
'e',
'n',
's',
'e',
' ',
'a',
'l',
'o',
'n',
'g',
' ',
'w'
188 {
NULL, 0,
NULL,
NULL,
test_w, -1,
test_w,
NULL,
test_a,
test_w,
sizeof(
test_w)},
189 {
NULL, 0,
NULL,
NULL,
empty_w, -1,
empty_w,
NULL,
empty_a,
NULL, 0,
test_w},
295 static LONG defwndproc_counter = 0;
340 defwndproc_counter++;
342 defwndproc_counter--;
369 return CreateWindowA(
"Pager test parent class",
"Pager test parent window",
403 static LONG defwndproc_counter;
409 if (defwndproc_counter)
423 defwndproc_counter++;
425 defwndproc_counter--;
453 ok(pager !=
NULL,
"Fail to create pager\n");
503 ok(pager !=
NULL,
"failed to create pager control\n");
514 ok(pager !=
NULL,
"failed to create pager control\n");
529 case WM_NOTIFYFORMAT:
547 static const WCHAR class_w[] = {
'P',
'a',
'g',
'e',
'r',
' ',
'n',
'o',
't',
'i',
'f',
'y',
'f',
548 'o',
'r',
'm',
'a',
't',
' ',
'c',
'l',
'a',
's',
's', 0};
559 static const WCHAR class_w[] = {
'P',
'a',
'g',
'e',
'r',
' ',
'n',
'o',
't',
'i',
'f',
'y',
'f',
560 'o',
'r',
'm',
'a',
't',
' ',
'c',
'l',
'a',
's',
's', 0};
561 static const WCHAR parent_w[] = {
'p',
'a',
'r',
'e',
'n',
't', 0};
562 static const WCHAR pager_w[] = {
'p',
'a',
'g',
'e',
'r', 0};
563 static const WCHAR child_w[] = {
'c',
'h',
'i',
'l',
'd', 0};
571 ok(bret,
"Register test class failed, error 0x%08x\n",
GetLastError());
576 parent =
CreateWindowW(class_w, parent_w,
WS_OVERLAPPED, 0, 0, 100, 100, 0, 0,
GetModuleHandleW(0), 0);
578 pager =
CreateWindowW(
WC_PAGESCROLLERW, pager_w,
WS_CHILD, 0, 0, 100, 100,
parent, 0,
GetModuleHandleW(0), 0);
579 ok(pager !=
NULL,
"CreateWindow failed\n");
580 child =
CreateWindowW(class_w, child_w,
WS_CHILD, 0, 0, 100, 100, pager, 0,
GetModuleHandleW(0), 0);
639 ok(*text_max == send_data->
send_text_max,
"Code 0x%08x test 0x%08x sub test %d expect %d, got %d\n",
650 ok(*text_max ==
receive_data->send_text_max,
"Code 0x%08x test 0x%08x sub test %d expect %d, got %d\n",
681 if (
data->expect_sztext)
692 if (
data->expect_pszformat)
703 static const WCHAR test[] = {
't',
'e',
's',
't', 0};
721 skip(
"Notification code mismatch, skipping lParam check\n");
909 ok(0,
"Unexpected message 0x%08x\n",
hdr->code);
916 case WM_NOTIFYFORMAT:
949 ok(
hdr->code == code_change ? ansi : unicode,
"Expect 0x%08x, got 0x%08x\n",
hdr->code,
950 code_change ? ansi : unicode);
1018 if (
data->send_text)
1025 if (
data->return_text)
1028 ok(!
lstrcmpW(
data->return_text, *para->
text),
"Code 0x%08x sub test %d expect %s, got %s\n",
1035 ok(
data->return_text_max == *para->
text_max,
"Code 0x%08x sub test %d expect %d, got %d\n",
1057 ok(!*para->
text,
"Expect null text\n");
1066 memset(&nmcbedb, 0,
sizeof(nmcbedb));
1072 memset(&nmcbeed, 0,
sizeof(nmcbeed));
1089 memset(&nmdtf, 0,
sizeof(nmdtf));
1093 if (
data->return_szdisplay)
1094 ok(!
lstrcmpW(nmdtf.szDisplay,
data->return_szdisplay),
"Sub test %d expect %s, got %s\n",
i,
1096 if (
data->return_pszdisplay)
1097 ok(!
lstrcmpW(nmdtf.pszDisplay,
data->return_pszdisplay),
"Sub test %d expect %s, got %s\n",
i,
1143 memset(&nmttdi, 0,
sizeof(nmttdi));
1147 if (
data->return_sztext)
1149 if (
data->return_sztext_size == -1)
1150 ok(!
lstrcmpW(nmttdi.szText,
data->return_sztext),
"Sub test %d expect %s, got %s\n",
i,
1153 ok(!
memcmp(nmttdi.szText,
data->return_sztext,
data->return_sztext_size),
"Wrong szText content\n");
1155 if (
data->return_lpsztext)
1158 ok(nmttdi.lpszText ==
data->return_lpsztext,
"Sub test %d expect %s, got %s\n",
i,
1161 ok(!
lstrcmpW(nmttdi.lpszText,
data->return_lpsztext),
"Test %d expect %s, got %s\n",
i,
1164 if (
data->return_hinst)
1165 ok(nmttdi.hinst ==
data->return_hinst,
"Sub test %d expect %p, got %p\n",
i,
data->return_hinst,
1175 static NMCOMBOBOXEXW nmcbe;
1176 /* Date and Time Picker */
1177 static NMDATETIMEFORMATQUERYW nmdtfq;
1178 static NMDATETIMEWMKEYDOWNW nmdtkd;
1179 static NMDATETIMESTRINGW nmdts;
1181 static NMHDDISPINFOW nmhddi;
1183 static NMLVDISPINFOW nmlvdi;
1184 static NMLVGETINFOTIPW nmlvgit;
1185 static NMLVFINDITEMW nmlvfi;
1187 static NMTBRESTORE nmtbr;
1188 static NMTBSAVE nmtbs;
1189 static NMTOOLBARW nmtb;
1190 static NMTBDISPINFOW nmtbdi;
1191 static NMTBGETINFOTIPW nmtbgit;
1193 static NMTVDISPINFOW nmtvdi;
1194 static NMTVGETINFOTIPW nmtvgit;
1195 static NMTREEVIEWW nmtv;
1196 static const struct generic_text_helper_para paras[] =
1199 {&nmcbe, sizeof(nmcbe), &nmcbe.ceItem.mask, CBEIF_TEXT, &nmcbe.ceItem.pszText, &nmcbe.ceItem.cchTextMax,
1200 CBEN_INSERTITEM, CBEN_INSERTITEM, DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE},
1201 {&nmcbe, sizeof(nmcbe), &nmcbe.ceItem.mask, CBEIF_TEXT, &nmcbe.ceItem.pszText, &nmcbe.ceItem.cchTextMax,
1202 CBEN_DELETEITEM, CBEN_DELETEITEM, DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE},
1203 {&nmcbe, sizeof(nmcbe), &nmcbe.ceItem.mask, CBEIF_TEXT, &nmcbe.ceItem.pszText, &nmcbe.ceItem.cchTextMax,
1204 CBEN_GETDISPINFOW, CBEN_GETDISPINFOA, ZERO_SEND | SET_NULL_IF_NO_MASK | DONT_CONVERT_SEND | CONVERT_RECEIVE},
1205 /* Date and Time Picker */
1206 {&nmdtfq, sizeof(nmdtfq), NULL, 0, (WCHAR **)&nmdtfq.pszFormat, NULL, DTN_FORMATQUERYW, DTN_FORMATQUERYA,
1208 {&nmdtkd, sizeof(nmdtkd), NULL, 0, (WCHAR **)&nmdtkd.pszFormat, NULL, DTN_WMKEYDOWNW, DTN_WMKEYDOWNA,
1210 {&nmdts, sizeof(nmdts), NULL, 0, (WCHAR **)&nmdts.pszUserString, NULL, DTN_USERSTRINGW, DTN_USERSTRINGA,
1213 {&nmhddi, sizeof(nmhddi), &nmhddi.mask, HDI_TEXT, &nmhddi.pszText, &nmhddi.cchTextMax, HDN_GETDISPINFOW,
1214 HDN_GETDISPINFOA, SEND_EMPTY_IF_NULL | CONVERT_SEND | CONVERT_RECEIVE},
1216 {&nmlvfi, sizeof(nmlvfi), &nmlvfi.lvfi.flags, LVFI_STRING, (WCHAR **)&nmlvfi.lvfi.psz, NULL,
1217 LVN_INCREMENTALSEARCHW, LVN_INCREMENTALSEARCHA, CONVERT_SEND},
1218 {&nmlvfi, sizeof(nmlvfi), &nmlvfi.lvfi.flags, LVFI_SUBSTRING, (WCHAR **)&nmlvfi.lvfi.psz, NULL, LVN_ODFINDITEMW,
1219 LVN_ODFINDITEMA, CONVERT_SEND},
1220 {&nmlvdi, sizeof(nmlvdi), &nmlvdi.item.mask, LVIF_TEXT, &nmlvdi.item.pszText, &nmlvdi.item.cchTextMax,
1221 LVN_BEGINLABELEDITW, LVN_BEGINLABELEDITA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1222 {&nmlvdi, sizeof(nmlvdi), &nmlvdi.item.mask, LVIF_TEXT, &nmlvdi.item.pszText, &nmlvdi.item.cchTextMax,
1223 LVN_ENDLABELEDITW, LVN_ENDLABELEDITA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1224 {&nmlvdi, sizeof(nmlvdi), &nmlvdi.item.mask, LVIF_TEXT, &nmlvdi.item.pszText, &nmlvdi.item.cchTextMax,
1225 LVN_GETDISPINFOW, LVN_GETDISPINFOA, DONT_CONVERT_SEND | CONVERT_RECEIVE},
1226 {&nmlvdi, sizeof(nmlvdi), &nmlvdi.item.mask, LVIF_TEXT, &nmlvdi.item.pszText, &nmlvdi.item.cchTextMax,
1227 LVN_SETDISPINFOW, LVN_SETDISPINFOA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1228 {&nmlvgit, sizeof(nmlvgit), NULL, 0, &nmlvgit.pszText, &nmlvgit.cchTextMax, LVN_GETINFOTIPW, LVN_GETINFOTIPA,
1229 CONVERT_SEND | CONVERT_RECEIVE},
1231 {&nmtbs, sizeof(nmtbs), NULL, 0, (WCHAR **)&nmtbs.tbButton.iString, NULL, TBN_SAVE, TBN_SAVE,
1232 DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE},
1233 {&nmtbr, sizeof(nmtbr), NULL, 0, (WCHAR **)&nmtbr.tbButton.iString, NULL, TBN_RESTORE, TBN_RESTORE,
1234 DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE},
1235 {&nmtbdi, sizeof(nmtbdi), &nmtbdi.dwMask, TBNF_TEXT, &nmtbdi.pszText, &nmtbdi.cchText, TBN_GETDISPINFOW,
1236 TBN_GETDISPINFOW, DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE},
1237 {&nmtb, sizeof(nmtb), NULL, 0, &nmtb.pszText, &nmtb.cchText, TBN_GETBUTTONINFOW, TBN_GETBUTTONINFOA,
1238 SEND_EMPTY_IF_NULL | CONVERT_SEND | CONVERT_RECEIVE},
1239 {&nmtbgit, sizeof(nmtbgit), NULL, 0, &nmtbgit.pszText, &nmtbgit.cchTextMax, TBN_GETINFOTIPW, TBN_GETINFOTIPA,
1240 DONT_CONVERT_SEND | CONVERT_RECEIVE},
1242 {&nmtvdi, sizeof(nmtvdi), &nmtvdi.item.mask, TVIF_TEXT, &nmtvdi.item.pszText, &nmtvdi.item.cchTextMax,
1243 TVN_BEGINLABELEDITW, TVN_BEGINLABELEDITA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1244 {&nmtvdi, sizeof(nmtvdi), &nmtvdi.item.mask, TVIF_TEXT, &nmtvdi.item.pszText, &nmtvdi.item.cchTextMax,
1245 TVN_ENDLABELEDITW, TVN_ENDLABELEDITA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1246 {&nmtvdi, sizeof(nmtvdi), &nmtvdi.item.mask, TVIF_TEXT, &nmtvdi.item.pszText, &nmtvdi.item.cchTextMax,
1247 TVN_GETDISPINFOW, TVN_GETDISPINFOA, ZERO_SEND | DONT_CONVERT_SEND| CONVERT_RECEIVE},
1248 {&nmtvdi, sizeof(nmtvdi), &nmtvdi.item.mask, TVIF_TEXT, &nmtvdi.item.pszText, &nmtvdi.item.cchTextMax,
1249 TVN_SETDISPINFOW, TVN_SETDISPINFOA, SET_NULL_IF_NO_MASK | CONVERT_SEND | CONVERT_RECEIVE},
1250 {&nmtvgit, sizeof(nmtvgit), NULL, 0, &nmtvgit.pszText, &nmtvgit.cchTextMax, TVN_GETINFOTIPW, TVN_GETINFOTIPA,
1251 DONT_CONVERT_SEND | CONVERT_RECEIVE},
1252 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1253 TVN_SINGLEEXPAND, TVN_SINGLEEXPAND, DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE, TVITEM_NEW_HANDLER},
1254 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1255 TVN_SINGLEEXPAND, TVN_SINGLEEXPAND, DONT_CONVERT_SEND | DONT_CONVERT_RECEIVE, TVITEM_OLD_HANDLER},
1256 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1257 TVN_BEGINDRAGW, TVN_BEGINDRAGA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1258 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1259 TVN_BEGINDRAGW, TVN_BEGINDRAGA, DONT_CONVERT_SEND, TVITEM_OLD_HANDLER},
1260 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1261 TVN_BEGINRDRAGW, TVN_BEGINRDRAGA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1262 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1263 TVN_BEGINRDRAGW, TVN_BEGINRDRAGA, DONT_CONVERT_SEND, TVITEM_OLD_HANDLER},
1264 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1265 TVN_ITEMEXPANDEDW, TVN_ITEMEXPANDEDA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1266 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1267 TVN_ITEMEXPANDEDW, TVN_ITEMEXPANDEDA, DONT_CONVERT_SEND, TVITEM_OLD_HANDLER},
1268 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1269 TVN_ITEMEXPANDINGW, TVN_ITEMEXPANDINGA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1270 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1271 TVN_ITEMEXPANDINGW, TVN_ITEMEXPANDINGA, DONT_CONVERT_SEND, TVITEM_OLD_HANDLER},
1272 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1273 TVN_DELETEITEMW, TVN_DELETEITEMA, DONT_CONVERT_SEND, TVITEM_NEW_HANDLER},
1274 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1275 TVN_DELETEITEMW, TVN_DELETEITEMA, CONVERT_SEND, TVITEM_OLD_HANDLER},
1276 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1277 TVN_SELCHANGINGW, TVN_SELCHANGINGA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1278 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1279 TVN_SELCHANGINGW, TVN_SELCHANGINGA, CONVERT_SEND, TVITEM_OLD_HANDLER},
1280 {&nmtv, sizeof(nmtv), &nmtv.itemNew.mask, TVIF_TEXT, &nmtv.itemNew.pszText, &nmtv.itemNew.cchTextMax,
1281 TVN_SELCHANGEDW, TVN_SELCHANGEDA, CONVERT_SEND, TVITEM_NEW_HANDLER},
1282 {&nmtv, sizeof(nmtv), &nmtv.itemOld.mask, TVIF_TEXT, &nmtv.itemOld.pszText, &nmtv.itemOld.cchTextMax,
1283 TVN_SELCHANGEDW, TVN_SELCHANGEDA, CONVERT_SEND, TVITEM_OLD_HANDLER}
1288 bret = register_test_notify_class();
1289 ok(bret, "Register
test class failed,
error 0
x%08x\n
", GetLastError());
1291 parent = CreateWindowA(class, "parent", WS_OVERLAPPED, 0, 0, 100, 100, 0, 0, GetModuleHandleA(0), 0);
1293 pager = CreateWindowA(WC_PAGESCROLLERA, "pager
", WS_CHILD, 0, 0, 100, 100, parent, 0, GetModuleHandleA(0), 0);
1295 child1_wnd = CreateWindowA(class, "child", WS_CHILD, 0, 0, 100, 100, pager, (HMENU)1, GetModuleHandleA(0), 0);
1297 SendMessageW(pager, PGM_SETCHILD, 0, (LPARAM)child1_wnd);
1299 for (i = 0; i < ARRAY_SIZE(paras); i++)
1300 test_notify_generic_text_helper(pager, paras + i);
1302 /* Tests for those that can't be covered by generic text test helper */
1303 test_wm_notify_comboboxex(pager);
1304 test_wm_notify_datetime(pager);
1305 test_wm_notify_header(pager);
1306 test_wm_notify_tooltip(pager);
1308 DestroyWindow(parent);
1309 UnregisterClassA(class, GetModuleHandleA(NULL));
1312static void init_functions(void)
1314 HMODULE mod = LoadLibraryA("comctl32.dll
");
1316#define X(f) p##f = (void*)GetProcAddress(mod, #f);
1317 X(InitCommonControlsEx);
1320 pSetWindowSubclass = (void*)GetProcAddress(mod, (LPSTR)410);
1325 INITCOMMONCONTROLSEX iccex;
1329 iccex.dwSize = sizeof(iccex);
1330 iccex.dwICC = ICC_PAGESCROLLER_CLASS;
1331 pInitCommonControlsEx(&iccex);
1333 init_msg_sequences(sequences, NUM_MSG_SEQUENCES);
1335 parent_wnd = create_parent_window();
1339 test_wm_notifyformat();
1342 DestroyWindow(parent_wnd);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void * heap_alloc(size_t len)
#define ok_sequence(seq, index, exp, contx, todo)
static void flush_sequences(struct msg_sequence **seq, int n)
static const struct pixel_format_desc formats[]
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
GLint GLint GLint GLint GLint x
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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
LPSTR WINAPI lstrcpyA(LPSTR lpString1, LPCSTR lpString2)
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
static UINT WPARAM wparam
static UINT WPARAM LPARAM lparam
static IHTMLWindow2 * window
static const struct access_res create[16]
unsigned __int3264 UINT_PTR
#define TVN_ENDLABELEDITA
#define HDN_ITEMDBLCLICKA
#define TVN_ITEMEXPANDINGA
#define TVN_BEGINLABELEDITA
#define HDN_OVERFLOWCLICK
#define HDN_ITEMSTATEICONCLICK
#define TVN_ITEMEXPANDEDA
#define LVN_INCREMENTALSEARCHA
#define HDN_ITEMCHANGINGA
#define LVN_BEGINLABELEDITA
#define CBEN_GETDISPINFOA
#define HDN_ITEMDBLCLICKW
#define HDN_ITEMCHANGINGW
#define LVN_ENDLABELEDITA
#define TBN_GETBUTTONINFOA
#define HDN_ENDFILTEREDIT
#define HDN_DIVIDERDBLCLICKW
#define HDN_DIVIDERDBLCLICKA
#define HDN_BEGINFILTEREDIT
static int receive_data(SOCKET sock, SecBuffer *buf)
static __inline const char * wine_dbgstr_rect(const RECT *rect)
char szText[CBEMAXSTRLEN]
WCHAR szText[CBEMAXSTRLEN]
char szText[CBEMAXSTRLEN]
WCHAR szText[CBEMAXSTRLEN]
DWORD WINAPI GetLastError(void)
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define SetWindowLongPtrA
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LONG WINAPI GetWindowLongA(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_WINDOWPOSCHANGING
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
#define IS_INTRESOURCE(i)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define GetWindowLongPtrA
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define WM_WINDOWPOSCHANGED
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)