32#define check(expected, result) \
33 ok( (expected) == (result), \
34 "expected=%d got=%d\n", \
35 (int)(expected), (int)(result) );
36#define checkLP(expected, result) \
37 ok( (expected) == (result), \
38 "expected=%p got=%p\n", \
40#define checkHR(expected, result) \
41 ok( (expected) == (result), \
42 "expected=%s got=%s\n", \
43 dpResult2str(expected), dpResult2str(result) );
44#define checkStr(expected, result) \
45 ok( (result != NULL) && (!strcmp(expected, result)), \
46 "expected=%s got=%s\n", \
48#define checkFlags(expected, result, flags) \
49 ok( (expected) == (result), \
50 "expected=0x%08x(%s) got=0x%08x(%s)\n", \
51 expected, dwFlags2str(expected, flags), \
52 result, dwFlags2str(result, flags) );
53#define checkGuid(expected, result) \
54 ok( IsEqualGUID(expected, result), \
55 "expected=%s got=%s\n", \
56 Guid2str(expected), Guid2str(result) );
57#define checkConv(expected, result, function) \
58 ok( (expected) == (result), \
59 "expected=0x%08x(%s) got=0x%08x(%s)\n", \
60 expected, function(expected), \
61 result, function(result) );
64DEFINE_GUID(appGuid, 0xbdcfe03e, 0xf0ec, 0x415b, 0x82, 0x11, 0x6f, 0x86, 0xd8, 0x19, 0x7f, 0xe1);
65DEFINE_GUID(appGuid2, 0x93417d3f, 0x7d26, 0x46ba, 0xb5, 0x76, 0xfe, 0x4b, 0x20, 0xbb, 0xad, 0x70);
66DEFINE_GUID(
GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
67DEFINE_GUID(invalid_guid, 0x7b48b707, 0x0034, 0xc000, 0x02, 0x00, 0x00, 0x00, 0xec, 0xf6, 0x32, 0x00);
91 static char buff[10][256];
102 if (!
guid)
return "(null)";
106 return "DPSPGUID_IPX";
108 return "DPSPGUID_TCPIP";
110 return "DPSPGUID_SERIAL";
112 return "DPSPGUID_MODEM";
115 return "DPAID_TotalSize";
117 return "DPAID_ServiceProvider";
119 return "DPAID_LobbyProvider";
121 return "DPAID_Phone";
123 return "DPAID_PhoneW";
125 return "DPAID_Modem";
127 return "DPAID_ModemW";
131 return "DPAID_INetW";
133 return "DPAID_INetPort";
135 return "DPAID_ComPort";
145 case DP_OK:
return "DP_OK";
244 default:
return "UNKNOWN";
251#define FLAGS_DPCONNECTION (1<<0)
252#define FLAGS_DPENUMPLAYERS (1<<1)
253#define FLAGS_DPENUMGROUPS (1<<2)
254#define FLAGS_DPPLAYER (1<<3)
255#define FLAGS_DPGROUP (1<<4)
256#define FLAGS_DPENUMSESSIONS (1<<5)
257#define FLAGS_DPGETCAPS (1<<6)
258#define FLAGS_DPGET (1<<7)
259#define FLAGS_DPRECEIVE (1<<8)
260#define FLAGS_DPSEND (1<<9)
261#define FLAGS_DPSET (1<<10)
262#define FLAGS_DPMESSAGEQUEUE (1<<11)
263#define FLAGS_DPCONNECT (1<<12)
264#define FLAGS_DPOPEN (1<<13)
265#define FLAGS_DPSESSION (1<<14)
266#define FLAGS_DPLCONNECTION (1<<15)
267#define FLAGS_DPESC (1<<16)
268#define FLAGS_DPCAPS (1<<17)
582 for (
i=0;
i<dpidSize;
i++)
584 if ( idPlayer == dpid[
i] )
622 DWORD dwDataSize = 1024;
631 lpData, &dwDataSize )) )
659 DWORD dwAddressSize = 0;
660 IDirectPlayLobby3 *pDPL;
664 &IID_IDirectPlayLobby3A, (
LPVOID*) &pDPL );
665 ok (
SUCCEEDED (
hr),
"CCI of CLSID_DirectPlayLobby / IID_IDirectPlayLobby3A failed\n");
669 addressElements[0].
guidDataType = DPAID_ServiceProvider;
676 addressElements[1].
lpData = (
LPVOID) strIPAddressString;
688 NULL, &dwAddressSize );
695 pAddress, &dwAddressSize );
711 IDirectPlay4 *pDP = lpContext;
757 hr = pDirectPlayCreate( (
LPGUID) &DPSPGUID_TCPIP, &pDP,
NULL );
768 if (!prov)
return TRUE;
787 if (!prov)
return TRUE;
814 ok(
FAILED(
hr),
"DirectPlayEnumerateA expected to fail\n");
819 ok(
FAILED(
hr),
"DirectPlayEnumerateA expected to fail\n");
824 ok(
arg.call_count > 0,
"Expected at least one valid provider\n");
825 trace(
"Found %d providers\n",
arg.call_count);
828 for(
i = 0;
i <
arg.call_count;
i++)
837 ok(
arg.call_count == 1,
"Expected 1, got %d\n",
arg.call_count);
844 ok(
FAILED(
hr),
"DirectPlayEnumerateW expected to fail\n");
849 ok(
FAILED(
hr),
"DirectPlayEnumerateW expected to fail\n");
856 ok(
arg.call_count > 0,
"Expected at least one valid provider\n");
859 for(
i = 0;
i <
arg.call_count;
i++)
868 ok(
arg.call_count == 1,
"Expected 1, got %d\n",
arg.call_count);
881 &DPAID_ServiceProvider,
884 static REFGUID sps[] = { &DPSPGUID_SERIAL, &DPSPGUID_MODEM,
885 &DPSPGUID_IPX, &DPSPGUID_TCPIP };
911 DWORD dwConnectionSize,
918 IDirectPlayLobby *pDPL;
931 &IID_IDirectPlayLobby3A, (
LPVOID*) &pDPL );
932 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlayLobby / IID_IDirectPlayLobby3A failed\n");
938 dwConnectionSize, callbackData );
957 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
959 ok (
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n");
965 &callbackData, callbackData.
dwFlags );
972 &callbackData, callbackData.
dwFlags );
979 &callbackData, callbackData.
dwFlags );
988 &callbackData, callbackData.
dwFlags );
995 &callbackData, callbackData.
dwFlags );
1003 &callbackData, callbackData.
dwFlags );
1011 &callbackData, callbackData.
dwFlags );
1023 DWORD dwConnectionSize,
1028 IDirectPlay4 *pDP = lpContext;
1058 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1060 ok (
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n");
1080 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1081 ok (
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n");
1140 DWORD dwAddressSize = 0;
1141 IDirectPlayLobby3 *pDPL;
1145 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1146 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1151 &IID_IDirectPlayLobby3A, (
LPVOID*) &pDPL );
1152 ok (
SUCCEEDED (
hr),
"CCI of CLSID_DirectPlayLobby / IID_IDirectPlayLobby3A failed\n");
1155 addressElements[0].
guidDataType = DPAID_ServiceProvider;
1157 addressElements[0].
lpData = (
void*) &DPSPGUID_TCPIP;
1170 pAddress, &dwAddressSize );
1188 IDirectPlay4 *pDP = lpContext;
1204 U2(dpsd).lpszPasswordA = (
LPSTR)
"sonic boom";
1209 U2(dpsd).lpszPasswordA = (
LPSTR)
"hadouken";
1228 IDirectPlay4 *pDP, *pDP_server;
1234 &IID_IDirectPlay4A, (
LPVOID*) &pDP_server );
1235 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1239 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1240 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1341 U2(dpsd_server).lpszPasswordA = (
LPSTR)
"hadouken";
1372 if (
U2(*lpThisSD).lpszPasswordA !=
NULL )
1397 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1398 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1434 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
1435 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1483 U1(dpsd_server[0]).lpszSessionNameA = (
LPSTR)
"normal";
1488 U1(dpsd_server[1]).lpszSessionNameA = (
LPSTR)
"full";
1493 U1(dpsd_server[2]).lpszSessionNameA = (
LPSTR)
"no new";
1499 U1(dpsd_server[3]).lpszSessionNameA = (
LPSTR)
"no join";
1505 U1(dpsd_server[4]).lpszSessionNameA = (
LPSTR)
"private";
1510 U2(dpsd_server[4]).lpszPasswordA = (
LPSTR)
"password";
1512 U1(dpsd_server[5]).lpszSessionNameA = (
LPSTR)
"protected";
1517 U2(dpsd_server[5]).lpszPasswordA = (
LPSTR)
"password";
1523 if (!pDPserver[
i])
return;
1530 &callbackData, -1 );
1545 &callbackData, callbackData.
dwFlags );
1554 &callbackData, callbackData.
dwFlags );
1562 &callbackData, callbackData.
dwFlags );
1570 &callbackData, callbackData.
dwFlags );
1578 &callbackData, callbackData.
dwFlags );
1587 &callbackData, callbackData.
dwFlags );
1595 &callbackData, callbackData.
dwFlags );
1602 &callbackData, callbackData.
dwFlags );
1611 &callbackData, callbackData.
dwFlags );
1618 &callbackData, callbackData.
dwFlags );
1633 U2(dpsd_server[
i]).lpszPasswordA = (
LPSTR)
"password";
1641 &callbackData, callbackData.
dwFlags );
1648 &callbackData, callbackData.
dwFlags );
1654 for (
i=4;
i<=5;
i++)
1657 U2(dpsd_server[
i]).lpszPasswordA =
NULL;
1661 for (
i=4;
i<=5;
i++)
1669 &callbackData, callbackData.
dwFlags );
1675 for (
i=4;
i<=5;
i++)
1678 U2(dpsd_server[
i]).lpszPasswordA = (
LPSTR)
"password";
1682 for (
i=4;
i<=5;
i++)
1690 &callbackData, callbackData.
dwFlags );
1697 &callbackData, callbackData.
dwFlags );
1702 U2(dpsd).lpszPasswordA = (
LPSTR)
"bad_password";
1706 &callbackData, callbackData.
dwFlags );
1713 &callbackData, callbackData.
dwFlags );
1718 U2(dpsd).lpszPasswordA = (
LPSTR)
"password";
1721 &callbackData, callbackData.
dwFlags );
1726 U2(dpsd).lpszPasswordA =
NULL;
1730 &callbackData, callbackData.
dwFlags );
1739 for (
i=4;
i<=5;
i++)
1744 U2(dpsd_server[
i]).lpszPasswordA =
NULL;
1747 U1(dpsd_server[4]).lpszSessionNameA = (
LPSTR)
"normal1";
1749 U1(dpsd_server[5]).lpszSessionNameA = (
LPSTR)
"normal2";
1751 for (
i=4;
i<=5;
i++)
1761 &callbackData, callbackData.
dwFlags );
1768 &callbackData, callbackData.
dwFlags );
1778 &callbackData, callbackData.
dwFlags );
1782 for (
i=4;
i<=5;
i++)
1796 IDirectPlay4 *pDP[2];
1810 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
1811 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1876 check( -1, dwDataSize );
1902 checkGuid( &appGuid, &lpData[
i]->guidApplication );
1906 checkGuid( &lpData[0]->guidInstance, &lpData[1]->guidInstance );
1909 U1(dpsd).lpszSessionNameA = (
LPSTR)
"Wahaa";
1916 checkStr(
U1(dpsd).lpszSessionNameA,
U1(*lpData[1]).lpszSessionNameA );
1951 checkGuid( &appGuid, &lpData[0]->guidApplication );
1952 checkGuid( &lpData[1]->guidInstance, &lpData[0]->guidInstance );
1978 IDirectPlay4 *pDP[2];
1986 &IID_IDirectPlay4A, (
LPVOID*) &pDP[0] );
1987 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
1991 &IID_IDirectPlay4A, (
LPVOID*) &pDP[1] );
1992 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
2151 IDirectPlay4 *pDP[2];
2164 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
2165 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
2320 LPCSTR lpDataFake =
"big_fake_data_chunk";
2323 LPCSTR lpData =
"remote_data";
2326 LPCSTR lpDataLocal =
"local_data";
2331 DWORD dwDataSizeGet = dwDataSizeFake;
2335 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
2336 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
2392 dwDataSizeGet = dwDataSizeFake;
2393 strcpy(lpDataGet, lpDataFake);
2395 &dwDataSizeGet, 0 );
2397 check( dwDataSize, dwDataSizeGet );
2401 strcpy(lpDataGet, lpDataFake);
2404 check( dwDataSize, dwDataSizeGet );
2406 strcpy(lpDataGet, lpDataFake);
2409 check( dwDataSize, dwDataSizeGet );
2413 dwDataSizeGet = dwDataSizeFake;
2414 strcpy(lpDataGet, lpDataFake);
2417 check( dwDataSize, dwDataSizeGet );
2421 dwDataSizeGet = dwDataSizeFake;
2422 strcpy(lpDataGet, lpDataFake);
2425 check( dwDataSize, dwDataSizeGet );
2428 dwDataSizeGet = dwDataSizeFake;
2429 strcpy(lpDataGet, lpDataFake);
2433 check( dwDataSize, dwDataSizeGet );
2436 dwDataSizeGet = dwDataSizeFake;
2437 strcpy(lpDataGet, lpDataFake);
2441 check( 0, dwDataSizeGet );
2444 dwDataSizeGet = dwDataSizeFake;
2445 strcpy(lpDataGet, lpDataFake);
2449 check( 0, dwDataSizeGet );
2454 strcpy(lpDataGet, lpDataFake);
2458 check( 0, dwDataSizeGet );
2461 dwDataSizeGet = dwDataSizeFake;
2462 strcpy(lpDataGet, lpDataFake);
2466 check( 0, dwDataSizeGet );
2487 dwDataSizeGet = dwDataSizeFake;
2488 strcpy(lpDataGet, lpDataFake);
2491 check( dwDataSize, dwDataSizeGet );
2494 dwDataSizeGet = dwDataSizeFake;
2495 strcpy(lpDataGet, lpDataFake);
2499 check( dwDataSize, dwDataSizeGet );
2502 dwDataSizeGet = dwDataSizeFake;
2503 strcpy(lpDataGet, lpDataFake);
2507 check( dwDataSizeLocal, dwDataSizeGet );
2508 checkStr( lpDataLocal, lpDataGet );
2510 dwDataSizeGet = dwDataSizeFake;
2511 strcpy(lpDataGet, lpDataFake);
2515 check( dwDataSizeLocal, dwDataSizeGet );
2516 checkStr( lpDataLocal, lpDataGet );
2520 strcpy(lpDataGet, lpDataFake);
2524 check( dwDataSizeLocal, dwDataSizeGet );
2527 dwDataSizeGet = dwDataSizeFake;
2528 strcpy(lpDataGet, lpDataFake);
2532 check( dwDataSizeLocal, dwDataSizeGet );
2547 dwDataSizeLocal, 0 );
2550 dwDataSizeGet = dwDataSizeFake;
2551 strcpy(lpDataGet, lpDataFake);
2554 check( dwDataSizeLocal, dwDataSizeGet );
2555 checkStr( lpDataLocal, lpDataGet );
2562 dwDataSizeGet = dwDataSizeFake + 1;
2563 strcpy(lpDataGet, lpData);
2566 check( dwDataSizeFake, dwDataSizeGet );
2580 IDirectPlay4 *pDP[2];
2587 DWORD dwDataSize = 1024;
2595 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
2596 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
2610 check( 1024, dwDataSize );
2630 check( 1024, dwDataSize );
2652 check( 1024, dwDataSize );
2656 U1(playerName).lpszShortNameA = (
LPSTR)
"player_name";
2657 U2(playerName).lpszLongNameA = (
LPSTR)
"player_long_name";
2671 check( 1024, dwDataSize );
2679 check( -1, dwDataSize );
2696 check( 45, dwDataSize );
2706 check( 16, dwDataSize );
2716 check( 16, dwDataSize );
2721 check( 16, dwDataSize );
2725 check( 16, dwDataSize );
2738 check( 45, dwDataSize );
2744 U1(playerName).lpszShortNameA = (
LPSTR)
"no_propagation";
2751 lpData, &dwDataSize );
2753 check( 48, dwDataSize );
2758 lpData, &dwDataSize );
2760 check( 45, dwDataSize );
2765 U1(playerName).lpszShortNameA = (
LPSTR)
"no_propagation_2";
2772 lpData, &dwDataSize );
2774 check( 50, dwDataSize );
2779 lpData, &dwDataSize );
2781 check( 45, dwDataSize );
2785 U1(playerName).lpszShortNameA = (
LPSTR)
"propagation";
2792 lpData, &dwDataSize );
2794 check( 45, dwDataSize );
2798 U1(playerName).lpszShortNameA = (
LPSTR)
"propagation_2";
2805 lpData, &dwDataSize );
2807 check( 47, dwDataSize );
2833 IDirectPlay4 *pDP = lpContext;
2852 U1(dpCredentials).lpszUsernameA = (
LPSTR)
"user";
2853 U2(dpCredentials).lpszPasswordA = (
LPSTR)
"pass";
2855 NULL, &dpCredentials );
2864 IDirectPlay4 *pDP[2];
2870 DWORD dwDataSize = 1024;
2877 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
2878 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
2921 lpData, &dwDataSize );
2923 check( 1024, dwDataSize );
2954 lpData, &dwDataSize );
2956 check( 1024, dwDataSize );
2961 lpData, &dwDataSize );
2963 check( 1024, dwDataSize );
2967 lpData, &dwDataSize );
2969 check( 1024, dwDataSize );
2974 NULL, &dwDataSize );
2976 check( 0, dwDataSize );
2980 lpData, &dwDataSize );
2982 check( 0, dwDataSize );
2985 lpData, &dwDataSize );
2987 check( 0, dwDataSize );
2992 lpData, &dwDataSize );
2994 check( 1024, dwDataSize );
3012 &DPAID_ServiceProvider,
3015 static DWORD sizes[] = { 4, 16, 12, 24, 4, 16, 10, 20 };
3048 IDirectPlay4 *pDP[2];
3049 IDirectPlayLobby3 *pDPL;
3056 DWORD dwDataSize = 1024;
3063 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
3064 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
3069 &IID_IDirectPlayLobby3A, (
LPVOID*) &pDPL );
3070 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlayLobby / IID_IDirectPlayLobby3A failed\n" );
3091 check( 1024, dwDataSize );
3096 check( 1024, dwDataSize );
3116 lpData, &dwDataSize );
3118 check( 1024, dwDataSize );
3122 lpData, &dwDataSize );
3124 check( 1024, dwDataSize );
3129 NULL, &dwDataSize );
3131 check( 136, dwDataSize );
3135 lpData, &dwDataSize );
3137 check( 136, dwDataSize );
3140 lpData, &dwDataSize );
3142 check( 136, dwDataSize );
3151 lpData, &dwDataSize );
3153 check( 136, dwDataSize );
3164 lpData, &dwDataSize );
3166 check( 130, dwDataSize );
3188 IDirectPlay4 *pDP[2];
3200 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
3201 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
3298 DPID idFrom, idTo, dpid, idGroup, idGroupParent;
3308 DWORD dwDataSizeGet = 1024;
3313 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
3314 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
3372 &groupName,
NULL, 0, 0 );
3376 &groupName,
NULL, 0, 0 );
3381 U1(groupName).lpszShortNameA = (
LPSTR) lpData;
3385 &groupName,
NULL, 0, 0 );
3389 &groupName,
NULL, 0, 0 );
3396 dwDataSizeGet = 1024;
3402 check( 48, dwDataSizeGet );
3406 check( 48 + dwDataSize, dwDataSizeGet );
3461 dwDataSizeGet = 1024;
3516 dwDataSizeGet = 1024;
3520 check( 48, dwDataSizeGet );
3605 IDirectPlay4 *pDP[2];
3607 DPID dpid[2], idGroup, idOwner;
3615 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
3616 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
3629 check( 0, idOwner );
3700 strlen(
"DPENUMPLAYERS_") ) );
3704 if ( playerIndex <
'5' )
3773 IDirectPlay4 *pDP[3];
3784 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
3785 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
3796 callbackData.
dpid = dpid;
3917 callbackData.
pDP = pDP[2];
3925 callbackData.
pDP = pDP[2];
3970 "GROUP,DPENUMPLAYERS_SPECTATOR:"
3971 "GROUP,DPENUMPLAYERS_SERVERPLAYER:"
3972 "GROUP:ALL:ALL:", callbackData.
szTrace2 );
3982 "LOCAL,DPENUMPLAYERS_SPECTATOR:", callbackData.
szTrace2 );
4031 strlen(
"DPENUMGROUPS_") ) );
4096 IDirectPlay4 *pDP[3];
4107 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
4108 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
4119 callbackData.
dpid = dpid;
4237 callbackData.
pDP = pDP[2];
4244 callbackData.
pDP = pDP[2];
4293 "LOCAL,DPENUMGROUPS_STAGINGAREA:", callbackData.
szTrace2 );
4303 "REMOTE,DPENUMGROUPS_HIDDEN:", callbackData.
szTrace2 );
4323 IDirectPlay4 *pDP[2];
4334 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
4335 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
4345 callbackData.
dpid = dpid;
4417 NULL, &callbackData, 0 );
4456 callbackData.
pDP = pDP[1];
4503 checkStr(
"LOCAL,DPENUMGROUPS_SHORTCUT:"
4504 "LOCAL,DPENUMGROUPS_STAGINGAREA:"
4505 "LOCAL,DPENUMGROUPS_HIDDEN:LOCAL:", callbackData.
szTrace2 );
4526 checkStr(
"REMOTE,DPENUMGROUPS_SHORTCUT:"
4527 "REMOTE,DPENUMGROUPS_STAGINGAREA:"
4528 "REMOTE,DPENUMGROUPS_HIDDEN:REMOTE:", callbackData.
szTrace2 );
4558 IDirectPlay4 *pDP[2];
4560 DPID idPlayer[6], idGroup[3];
4564 DWORD dwDataSize = 1024;
4572 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
4573 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
4632 "S2,S1,S0," "S2,S1,S0,"
4633 "S2,S1,S0," "S2,S1,S0,"
4634 "S2,S1,S0," "S2,S1,S0,", callbackData.
szTrace1 );
4637 "S5,S4,S3," "S5,S4,S3,"
4638 "S5,S4,S3,", callbackData.
szTrace1 );
4671 checkStr(
"S2,S1,S0," "S2,S1,S0," "S2,S1,S0,"
4672 "S2,S1,S0," "S2,S1,S0," "S2,S1,S0,"
4673 "S2,S1,S0,", callbackData.
szTrace1 );
4675 checkStr(
"S5,S4,S3," "S5,S4,S3," "S5,S4,S3,"
4676 "S5,S4,S3," "S5,S4,S3," "S5,S4,S3,"
4677 "S5,S4,S3,", callbackData.
szTrace1 );
4685 lpData, dwDataSize );
4694 lpData, dwDataSize );
4702 lpData, dwDataSize );
4710 lpData, dwDataSize );
4719 lpData, dwDataSize );
4727 lpData, dwDataSize );
4735 lpData, dwDataSize );
4743 lpData, dwDataSize );
4752 lpData, dwDataSize );
4760 lpData, dwDataSize );
4768 lpData, dwDataSize );
4776 lpData, dwDataSize );
4793 IDirectPlay4 *pDP[2];
4795 DPID idPlayer[6], idGroup[3];
4800 DWORD dwDataSize = 1024;
4807 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
4808 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
4877 checkStr(
"S1," "S2,S1," "S3,S2,S1," "S4,S3,S2,S1,"
4878 "S5,S4,S3,S2,S1," "S5,S4,S3,S2,S1,", callbackData.
szTrace1 );
4912 checkStr(
"S5," "S4,S3,S2,S1," "S5,S4,S3,S2,S1,"
4913 "S5,S4,S3,S2,S1," "S5,S4,S3,S2,S1,", callbackData.
szTrace1 );
4920 lpData, dwDataSize );
4929 lpData, dwDataSize );
4937 lpData, dwDataSize );
4945 lpData, dwDataSize );
4954 lpData, dwDataSize );
4962 lpData, dwDataSize );
4970 lpData, dwDataSize );
4978 lpData, dwDataSize );
4987 lpData, dwDataSize );
4995 lpData, dwDataSize );
5003 lpData, dwDataSize );
5011 lpData, dwDataSize );
5030 IDirectPlay4 *pDP[2];
5032 DPID dpid[4], idFrom, idTo;
5037 DWORD dwDataSize = 1024;
5046 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
5047 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
5110 NULL, messageSize );
5132 lpData, &dwDataSize );
5150 lpData, &dwDataSize );
5154 lpData, &dwDataSize );
5175 lpData, &dwDataSize );
5181 lpData, &dwDataSize );
5209 lpData, &dwDataSize );
5310 check( dpid[1], idTo );
5367 DPID dpid[4], idFrom, idTo;
5371 DWORD dwDataSize = 1024;
5382 &IID_IDirectPlay4A, (
LPVOID*) &pDP );
5383 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
5397 lpData, &dwDataSize );
5407 lpData, &dwDataSize );
5414 lpData, &dwDataSize );
5419 NULL, &dwDataSize );
5423 lpData, &dwDataSize );
5450 check( 5, dwCount );
5452 check( 5, dwCount );
5454 check( 3, dwCount );
5456 check( 3, dwCount );
5461 NULL, &dwDataSize );
5463 check( 48, dwDataSize );
5466 lpData, &dwDataSize );
5468 check( 48, dwDataSize );
5472 for (
i=0;
i<11;
i++)
5476 lpData, &dwDataSize );
5484 check( 48, dwDataSize );
5496 check( 52, dwDataSize );
5512 check( dpid[0], idTo );
5521 check( dpid[1], idTo );
5529 check( dpid[0], idTo );
5539 check( dpid[2], idTo );
5547 check( dpid[1], idTo );
5555 check( dpid[0], idTo );
5565 check( dpid[2], idTo );
5572 check( dpid[1], idTo );
5579 check( dpid[0], idTo );
5588 check( dpid[2], idTo );
5596 check( dpid[0], idTo );
5621 for (
i=0;
i<10;
i++)
5624 lpData, &dwDataSize );
5632 check( idFrom, dpid[0] );
5633 check( idTo, dpid[2] );
5650 IDirectPlay4 *pDP[2];
5657 DWORD dwDataSize = 1024;
5665 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
5666 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
5674 check( -1, dwCount );
5690 check( 0, dwCount );
5710 check( -1, dwCount );
5715 check( -1, dwCount );
5720 check( -1, dwCount );
5728 check( 5, dwCount );
5733 check( 1, dwCount );
5738 check( 3, dwCount );
5743 check( 2, dwCount );
5749 check( 0, dwCount );
5754 check( 1, dwCount );
5759 check( 2, dwCount );
5773 check( 0, dwCount );
5778 check( 0, dwCount );
5794 check( 11, dwCount );
5799 check( 7, dwCount );
5804 check( 0, dwCount );
5809 check( 5, dwCount );
5814 check( 6, dwCount );
5819 check( 7, dwCount );
5825 "12,12,12,12,12,12,", callbackData.
szTrace1 );
5834 check( 0, dwCount );
5839 check( 0, dwCount );
5844 check( 0, dwCount );
5849 check( 0, dwCount );
5854 check( 0, dwCount );
5859 check( 0, dwCount );
5873 IDirectPlay4 *pDP[2];
5879 DWORD dwNumMsgs, dwNumBytes;
5881 DWORD dwDataSize = 1024;
5888 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
5889 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
5895 dwNumMsgs = dwNumBytes = -1;
5897 &dwNumMsgs, &dwNumBytes );
5899 check( -1, dwNumMsgs );
5900 check( -1, dwNumBytes );
5913 dwNumMsgs = dwNumBytes = -1;
5915 &dwNumMsgs, &dwNumBytes );
5917 check( 0, dwNumMsgs );
5918 check( 0, dwNumBytes );
5936 dwNumMsgs = dwNumBytes = -1;
5939 &dwNumMsgs, &dwNumBytes );
5941 check( -1, dwNumMsgs );
5942 check( -1, dwNumBytes );
5944 dwNumMsgs = dwNumBytes = -1;
5947 &dwNumMsgs, &dwNumBytes );
5949 check( -1, dwNumMsgs );
5950 check( -1, dwNumBytes );
5952 dwNumMsgs = dwNumBytes = -1;
5955 &dwNumMsgs, &dwNumBytes );
5957 check( -1, dwNumMsgs );
5958 check( -1, dwNumBytes );
5960 dwNumMsgs = dwNumBytes = -1;
5964 &dwNumMsgs, &dwNumBytes );
5966 check( -1, dwNumMsgs );
5967 check( -1, dwNumBytes );
5973 dwNumMsgs = dwNumBytes = -1;
5976 &dwNumMsgs, &dwNumBytes );
5978 check( -1, dwNumMsgs );
5979 check( -1, dwNumBytes );
5982 dwNumMsgs = dwNumBytes = -1;
5985 &dwNumMsgs, &dwNumBytes );
5987 check( -1, dwNumMsgs );
5988 check( -1, dwNumBytes );
5991 dwNumMsgs = dwNumBytes = -1;
5994 &dwNumMsgs, &dwNumBytes );
5996 check( 0, dwNumMsgs );
5997 check( 0, dwNumBytes );
5999 dwNumMsgs = dwNumBytes = -1;
6002 &dwNumMsgs, &dwNumBytes );
6004 check( 0, dwNumMsgs );
6005 check( 0, dwNumBytes );
6009 dwNumMsgs = dwNumBytes = -1;
6012 &dwNumMsgs, &dwNumBytes );
6014 check( 2, dwNumMsgs );
6015 check( 96, dwNumBytes );
6017 dwNumMsgs = dwNumBytes = -1;
6020 &dwNumMsgs, &dwNumBytes );
6022 check( 0, dwNumMsgs );
6023 check( 0, dwNumBytes );
6025 dwNumMsgs = dwNumBytes = -1;
6028 &dwNumMsgs, &dwNumBytes );
6030 check( 5, dwNumMsgs );
6031 check( 240, dwNumBytes );
6033 dwNumMsgs = dwNumBytes = -1;
6036 NULL, &dwNumBytes );
6038 check( -1, dwNumMsgs );
6039 check( 0, dwNumBytes );
6041 dwNumMsgs = dwNumBytes = -1;
6046 check( 0, dwNumMsgs );
6047 check( -1, dwNumBytes );
6049 dwNumMsgs = dwNumBytes = -1;
6054 check( -1, dwNumMsgs );
6055 check( -1, dwNumBytes );
6057 dwNumMsgs = dwNumBytes = -1;
6060 &dwNumMsgs, &dwNumBytes );
6062 check( 0, dwNumMsgs );
6063 check( 0, dwNumBytes );
6073 dwNumMsgs = dwNumBytes = -1;
6076 &dwNumMsgs, &dwNumBytes );
6078 check( 0, dwNumMsgs );
6079 check( 0, dwNumBytes );
6093 dwNumMsgs = dwNumBytes = -1;
6096 &dwNumMsgs, &dwNumBytes );
6098 check( 4, dwNumMsgs );
6099 check( 4*dwDataSize, dwNumBytes );
6101 dwNumMsgs = dwNumBytes = -1;
6104 &dwNumMsgs, &dwNumBytes );
6106 check( 3, dwNumMsgs );
6107 check( 3*dwDataSize, dwNumBytes );
6109 dwNumMsgs = dwNumBytes = -1;
6112 &dwNumMsgs, &dwNumBytes );
6114 check( 2, dwNumMsgs );
6115 check( 2*dwDataSize, dwNumBytes );
6117 dwNumMsgs = dwNumBytes = -1;
6120 &dwNumMsgs, &dwNumBytes );
6122 check( 4, dwNumMsgs );
6123 check( 4*dwDataSize, dwNumBytes );
6125 dwNumMsgs = dwNumBytes = -1;
6128 &dwNumMsgs, &dwNumBytes );
6130 check( 3, dwNumMsgs );
6131 check( 3*dwDataSize, dwNumBytes );
6133 dwNumMsgs = dwNumBytes = -1;
6136 &dwNumMsgs, &dwNumBytes );
6138 check( 5, dwNumMsgs );
6139 check( 5*dwDataSize, dwNumBytes );
6141 dwNumMsgs = dwNumBytes = -1;
6144 &dwNumMsgs, &dwNumBytes );
6146 check( 4, dwNumMsgs );
6147 check( 4*dwDataSize, dwNumBytes );
6149 dwNumMsgs = dwNumBytes = -1;
6152 &dwNumMsgs, &dwNumBytes );
6154 check( 5, dwNumMsgs );
6155 check( 5*dwDataSize, dwNumBytes );
6158 dwNumMsgs = dwNumBytes = -1;
6161 &dwNumMsgs, &dwNumBytes );
6163 check( 0, dwNumMsgs );
6164 check( 0, dwNumBytes );
6166 dwNumMsgs = dwNumBytes = -1;
6169 &dwNumMsgs, &dwNumBytes );
6171 check( 0, dwNumMsgs );
6172 check( 0, dwNumBytes );
6186 IDirectPlay4 *pDP[2];
6188 DPID dpid[2], idFrom, idTo;
6199 LPCSTR lpDataLocal[] = {
"local_0",
"local_1" };
6200 LPCSTR lpDataRemote[] = {
"remote_0",
"remote_1" };
6201 LPCSTR lpDataFake =
"ugly_fake_data";
6204 dwDataSizeRemote =
strlen(lpDataRemote[0])+1,
6205 dwDataSizeFake =
strlen(lpDataFake)+1,
6212 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
6213 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
6273 dwDataSizeGet = dwDataSizeFake;
6274 strcpy( lpDataGet, lpDataFake );
6276 lpDataGet, &dwDataSizeGet,
6279 check( dwDataSizeLocal, dwDataSizeGet );
6282 dwDataSizeGet = dwDataSizeFake;
6283 strcpy( lpDataGet, lpDataFake );
6285 lpDataGet, &dwDataSizeGet,
6288 check( dwDataSizeRemote, dwDataSizeGet );
6313 dwDataSizeGet = dwDataSizeFake;
6314 strcpy( lpDataGet, lpDataFake );
6316 lpDataGet, &dwDataSizeGet,
6319 check( dwDataSizeLocal, dwDataSizeGet );
6322 dwDataSizeGet = dwDataSizeFake;
6323 strcpy( lpDataGet, lpDataFake );
6325 lpDataGet, &dwDataSizeGet,
6328 check( dwDataSizeRemote, dwDataSizeGet );
6329 checkStr( lpDataRemote[!
i], lpDataGet );
6342 check( 2, dwCount );
6344 check( 0, dwCount );
6355 check( 29, dwDataSize );
6367 lpData, &dwDataSize );
6374 (
LPVOID) lpDataRemote[0], dwDataSizeRemote,
6382 lpData, &dwDataSize );
6384 check( 29, dwDataSize );
6414 IDirectPlay4 *pDP[2];
6416 DPID dpid[2], idFrom, idTo;
6421 DWORD dwDataSize = 1024;
6430 &IID_IDirectPlay4A, (
LPVOID*) &pDP[
i] );
6431 ok(
SUCCEEDED(
hr),
"CCI of CLSID_DirectPlay / IID_IDirectPlay4A failed\n" );
6465 check( 1, dwCount );
6468 lpData, &dwDataSize );
6474 check( 0, dwCount );
6476 lpData, &dwDataSize );
6486 check( 0, dwCount );
6488 lpData, &dwDataSize );
6493 check( 2, dwCount );
6496 lpData, &dwDataSize );
6505 lpData, &dwDataSize );
6508 check( dpid[1], idTo );
6552 IDirectPlay4 *dp4 = (IDirectPlay4*)(
ULONG_PTR)0xdeadbeefdeadbeefull;
6554 IDirectPlay4 *dp4 = (IDirectPlay4*)0xdeadbeef;
6569 "DirectPlay create failed: %08x, expected CLASS_E_NOAGGREGATION\n",
hr);
6571 ok(!dp4 || dp4 == (IDirectPlay4*)(
ULONG_PTR)0xdeadbeefdeadbeefull,
"dp4 = %p\n", dp4);
6573 ok(!dp4 || dp4 == (IDirectPlay4*)0xdeadbeef,
"dp4 = %p\n", dp4);
6584 ok(
hr ==
S_OK,
"DirectPlay create failed: %08x, expected S_OK\n",
hr);
6586 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6589 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay2A failed: %08x\n",
hr);
6591 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6595 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay2 failed: %08x\n",
hr);
6597 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6601 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay3A failed: %08x\n",
hr);
6603 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6607 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay3 failed: %08x\n",
hr);
6609 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6613 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay4A failed: %08x\n",
hr);
6615 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6620 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlay failed: %08x\n",
hr);
6622 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6626 ok(
hr ==
S_OK,
"QueryInterface for IID_IUnknown failed: %08x\n",
hr);
6627 refcount = IUnknown_AddRef(unk);
6628 ok(refcount == 3,
"refcount == %u, expected 3\n", refcount);
6629 refcount = IUnknown_Release(unk);
6630 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6632 IUnknown_Release(unk);
6641 ok(refcount == 0,
"refcount == %u, expected 0\n", refcount);
6647 IDirectPlayLobby *dpl = (IDirectPlayLobby*)(
ULONG_PTR)0xdeadbeefdeadbeefull;
6649 IDirectPlayLobby *dpl = (IDirectPlayLobby*)0xdeadbeef;
6653 IDirectPlayLobby2 *dpl2;
6655 IDirectPlayLobby3 *dpl3;
6669 "DirectPlayLobby create failed: %08x, expected CLASS_E_NOAGGREGATION\n",
hr);
6671 ok(!dpl || dpl == (IDirectPlayLobby*)(
ULONG_PTR)0xdeadbeefdeadbeefull,
"dpl = %p\n", dpl);
6673 ok(!dpl || dpl == (IDirectPlayLobby*)0xdeadbeef,
"dpl = %p\n", dpl);
6679 ok(
hr ==
E_NOINTERFACE,
"DirectPlayLobby create failed: %08x, expected E_NOINTERFACE\n",
hr);
6684 ok(
hr ==
S_OK,
"DirectPlayLobby create failed: %08x, expected S_OK\n",
hr);
6686 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6689 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlayLobbyA failed: %08x\n",
hr);
6691 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6695 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlayLobby2 failed: %08x\n",
hr);
6697 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6701 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlayLobby2A failed: %08x\n",
hr);
6703 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6707 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlayLobby3 failed: %08x\n",
hr);
6709 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6713 ok(
hr ==
S_OK,
"QueryInterface for IID_IDirectPlayLobby3A failed: %08x\n",
hr);
6715 ok(refcount == 2,
"refcount == %u, expected 2\n", refcount);
6720 ok(
hr ==
S_OK,
"QueryInterface for IID_IUnknown failed: %08x\n",
hr);
6721 refcount = IUnknown_AddRef(unk);
6722 ok(refcount == 4,
"refcount == %u, expected 4\n", refcount);
6725 IUnknown_Release(unk);
6733 ok(refcount == 0,
"refcount == %u, expected 0\n", refcount);
6771 if (
hr !=
S_OK)
goto done;
6773 hr = INetFwMgr_get_LocalPolicy( mgr, &
policy );
6775 if (
hr !=
S_OK)
goto done;
6778 if (
hr !=
S_OK)
goto done;
6786 if (mgr) INetFwMgr_Release( mgr );
6788 return (
enabled == VARIANT_TRUE);
6793 static const WCHAR dplaysvrW[] =
6794 {
'd',
'p',
'l',
'a',
'y',
's',
'v',
'r',
'.',
'e',
'x',
'e',0};
6796 static const WCHAR clientW[] =
6797 {
'd',
'p',
'l',
'a',
'y',
'_',
'c',
'l',
'i',
'e',
'n',
't',0};
6798 static const WCHAR serverW[] =
6799 {
'd',
'p',
'l',
'a',
'y',
'_',
's',
'e',
'r',
'v',
'e',
'r',0};
6828 if (
hr !=
S_OK)
goto done;
6830 hr = INetFwMgr_get_LocalPolicy( mgr, &
policy );
6832 if (
hr !=
S_OK)
goto done;
6835 if (
hr !=
S_OK)
goto done;
6837 hr = INetFwProfile_get_AuthorizedApplications(
profile, &apps );
6839 if (
hr !=
S_OK)
goto done;
6842 &IID_INetFwAuthorizedApplication, (
void **)&app );
6844 if (
hr !=
S_OK)
goto done;
6846 hr = INetFwAuthorizedApplication_put_ProcessImageFileName( app,
image );
6847 if (
hr !=
S_OK)
goto done;
6850 hr = INetFwAuthorizedApplication_put_Name( app,
name );
6853 if (
hr !=
S_OK)
goto done;
6856 hr = INetFwAuthorizedApplications_Add( apps, app );
6858 hr = INetFwAuthorizedApplications_Remove( apps,
image );
6861 if (
hr !=
S_OK)
goto done;
6863 INetFwAuthorizedApplication_Release( app );
6865 &IID_INetFwAuthorizedApplication, (
void **)&app );
6867 if (
hr !=
S_OK)
goto done;
6871 hr = INetFwAuthorizedApplication_put_ProcessImageFileName( app,
image );
6872 if (
hr !=
S_OK)
goto done;
6875 hr = INetFwAuthorizedApplication_put_Name( app,
name );
6878 if (
hr !=
S_OK)
goto done;
6881 hr = INetFwAuthorizedApplications_Add( apps, app );
6883 hr = INetFwAuthorizedApplications_Remove( apps,
image );
6888 if (app) INetFwAuthorizedApplication_Release( app );
6889 if (apps) INetFwAuthorizedApplications_Release( apps );
6892 if (mgr) INetFwMgr_Release( mgr );
6926 BOOL firewall_enabled;
6933 skip(
"Failed to get systems directory\n");
6940 win_skip(
"dpnet is a stub dll, skipping tests\n");
6946 skip(
"no privileges, skipping tests to avoid firewall dialog\n");
6950 if (firewall_enabled)
6955 skip(
"can't authorize app in firewall %08x\n",
hr);
6979 skip(
"Run in interactive mode to run all dplayx tests.\n");
6983 trace(
"Running in interactive mode, tests will take a while\n");
ACPI_SIZE strlen(const char *String)
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
#define GetProcAddress(x, y)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
static const WCHAR separator[]
static void cleanup(void)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
UINT WINAPI GetSystemDirectoryA(OUT LPSTR lpBuffer, IN UINT uSize)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR filename, LPDWORD handle)
BOOL WINAPI VerQueryValueA(LPCVOID pBlock, LPCSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen)
BOOL WINAPI GetFileVersionInfoA(LPCSTR filename, DWORD handle, DWORD datasize, LPVOID data)
#define DPSESSION_MIGRATEHOST
#define IDirectPlayX_Release(p)
#define DPERR_INVALIDOBJECT
#define DPENUMPLAYERS_LOCAL
struct tagDPMSG_DESTROYPLAYERORGROUP * LPDPMSG_DESTROYPLAYERORGROUP
#define IDirectPlayX_GetGroupOwner(p, a, b)
#define DPCAPS_GUARANTEEDSUPPORTED
#define DPENUMPLAYERS_ALL
#define DPERR_ACCESSDENIED
#define DPCAPS_KEEPALIVEOPTIMIZED
#define DPERR_UNKNOWNAPPLICATION
#define DPPLAYERTYPE_PLAYER
#define DPERR_NOTLOGGEDIN
#define DPSESSION_CLIENTSERVER
#define DPERR_LOGONDENIED
#define DPSEND_HIGHPRIORITY
#define DPENUMPLAYERS_GROUP
#define IDirectPlayX_QueryInterface(p, a, b)
#define DPSESSION_NOMESSAGEID
#define DPERR_NOTREGISTERED
#define IDirectPlayX_Receive(p, a, b, c, d, e)
#define IDirectPlayX_Open(p, a, b)
#define DPSYS_SETSESSIONDESC
#define DPERR_CANTADDPLAYER
#define DPERR_NOSERVICEPROVIDER
#define IDirectPlayX_GetPlayerName(p, a, b, c)
#define DPERR_BUFFERTOOLARGE
#define DPENUMGROUPS_STAGINGAREA
#define IDirectPlayX_SecureOpen(p, a, b, c, d)
#define DPERR_SESSIONLOST
#define DPERR_NONEWPLAYERS
struct tagDPMSG_SECUREMESSAGE * LPDPMSG_SECUREMESSAGE
#define IDirectPlayX_AddGroupToGroup(p, a, b)
#define IDirectPlayX_CreatePlayer(p, a, b, c, d, e, f)
struct IDirectPlay * LPDIRECTPLAY
#define IDirectPlayX_CreateGroup(p, a, b, c, d, e)
#define IDirectPlayX_SetPlayerName(p, a, b, c)
#define DPID_SERVERPLAYER
#define DPSESSION_PASSWORDREQUIRED
#define DPERR_UNINITIALIZED
#define DPERR_CANTCREATEPLAYER
#define DPERR_ALREADYREGISTERED
#define IDirectPlayX_Send(p, a, b, c, d, e)
#define DPERR_INVALIDGROUP
#define IDirectPlayX_CreateGroupInGroup(p, a, b, c, d, e, f)
#define DPPLAYER_SERVERPLAYER
#define DPSYS_DESTROYPLAYERORGROUP
#define DPRECEIVE_TOPLAYER
#define IDirectPlayX_EnumConnections(p, a, b, c, d)
#define DPGROUP_STAGINGAREA
#define DPSYS_SECUREMESSAGE
#define DPERR_AUTHENTICATIONFAILED
#define DPERR_ENCRYPTIONFAILED
#define DPERR_INVALIDINTERFACE
#define DPENUMSESSIONS_PASSWORDREQUIRED
#define DPERR_NOINTERFACE
#define DPSEND_LOBBYSYSTEMMESSAGE
#define DPENUMPLAYERS_REMOTE
#define DPSEND_CLOSESTREAM
#define DPSEND_NOSENDCOMPLETEMSG
#define DPENUMPLAYERS_SESSION
#define DPERR_CANNOTCREATESERVER
#define IDirectPlayX_AddPlayerToGroup(p, a, b)
#define IDirectPlayX_EnumPlayers(p, a, b, c, d)
#define DPPLAYER_SPECTATOR
#define DPCAPS_ASYNCSUPPORTED
#define DPERR_CANTLOADCAPI
#define DPERR_ENCRYPTIONNOTSUPPORTED
#define DPERR_CAPSNOTAVAILABLEYET
#define IDirectPlayX_SetPlayerData(p, a, b, c, d)
#define DPSESSION_NEWPLAYERSDISABLED
#define DPSYS_SENDCOMPLETE
#define DPENUMGROUPS_SESSION
#define DPSYS_SETGROUPOWNER
#define DPENUMSESSIONS_ASYNC
#define DPENUMPLAYERS_SPECTATOR
#define DPCONNECTION_DIRECTPLAY
#define DPSEND_GUARANTEED
#define DPERR_CONNECTIONLOST
#define DPENUMGROUPS_SHORTCUT
#define DPERR_BUFFERTOOSMALL
#define DPSESSION_SECURESERVER
#define DPOPEN_RETURNSTATUS
#define DPERR_ALREADYINITIALIZED
#define IDirectPlayX_AddRef(p)
#define DPERR_INVALIDFLAGS
#define DPERR_CANTLOADSSPI
#define DPPLAYERTYPE_GROUP
#define IDirectPlay_Release(p)
#define DPENUMPLAYERS_SERVERPLAYER
#define DPERR_SERVICEPROVIDERLOADED
#define DPERR_UNSUPPORTED
#define DPENUMGROUPS_REMOTE
#define DPCONNECT_RETURNSTATUS
#define DPSESSION_MULTICASTSERVER
#define DPENUMPLAYERS_OWNER
#define DPCAPS_SIGNINGSUPPORTED
#define DPERR_UNKNOWNMESSAGE
#define DPCAPS_GROUPOPTIMIZED
#define DPSYS_SETPLAYERORGROUPDATA
#define IDirectPlayX_GetMessageQueue(p, a, b, c, d, e)
#define DPSYS_ADDGROUPTOGROUP
#define DPENUMSESSIONS_STOPASYNC
#define DPERR_CANTCREATEGROUP
#define IDirectPlay2_AddRef(p)
#define DPSESSION_KEEPALIVE
#define DPSYS_DELETEPLAYERFROMGROUP
#define IDirectPlayX_DestroyPlayer(p, a)
#define IDirectPlayX_InitializeConnection(p, a, b)
#define DPCAPS_ASYNCCANCELSUPPORTED
#define DPLCONNECTION_CREATESESSION
#define IDirectPlayX_GetCaps(p, a, b)
#define DPERR_UNAVAILABLE
#define DPMESSAGEQUEUE_RECEIVE
#define DPERR_NONAMESERVERFOUND
#define DPERR_CANCELFAILED
#define IDirectPlayX_GetPlayerFlags(p, a, b)
#define DPERR_APPNOTSTARTED
#define DPERR_INVALIDPLAYER
struct tagDPCREDENTIALS DPCREDENTIALS
#define DPSESSION_JOINDISABLED
#define IDirectPlay2_Release(p)
struct IDirectPlay3 IDirectPlay3A
#define DPERR_NOCONNECTION
#define DPSYS_DELETEGROUPFROMGROUP
#define DPCAPS_SENDPRIORITYSUPPORTED
#define DPERR_INVALIDPARAMS
#define DPENUMSESSIONS_ALL
#define DPSYS_CREATEPLAYERORGROUP
#define IDirectPlay3_Release(p)
#define DPERR_INVALIDPASSWORD
#define DPERR_ACTIVEPLAYERS
#define DPSESSION_NODATAMESSAGES
struct IDirectPlay4 IDirectPlay4A
#define IDirectPlayX_GetPlayerData(p, a, b, c, d)
#define DPSEND_OPENSTREAM
#define IDirectPlayX_EnumGroupsInGroup(p, a, b, c, d, e)
#define DPSYS_SESSIONLOST
#define DPCAPS_SENDTIMEOUTSUPPORTED
#define DPERR_INVALIDPARAM
#define IDirectPlayX_EnumSessions(p, a, b, c, d, e)
#define DPMESSAGEQUEUE_SEND
#define DPENUMGROUPS_HIDDEN
BOOL(CALLBACK * LPDPENUMDPCALLBACKA)(LPGUID lpguidSP, LPSTR lpSPName, DWORD dwMajorVersion, DWORD dwMinorVersion, LPVOID lpContext)
struct IDirectPlay2 IDirectPlay2A
#define DPCAPS_GUARANTEEDOPTIMIZED
struct tagDPMSG_CREATEPLAYERORGROUP * LPDPMSG_CREATEPLAYERORGROUP
#define IDirectPlayX_Close(p)
#define IDirectPlay3_AddRef(p)
#define DPRECEIVE_FROMPLAYER
#define DPERR_CANTCREATEPROCESS
#define IDirectPlayX_GetPlayerAddress(p, a, b, c)
#define DPSYS_SETPLAYERORGROUPNAME
#define DPERR_INVALIDPRIORITY
#define IDirectPlayX_GetPlayerCaps(p, a, b, c)
#define DPERR_CANTCREATESESSION
#define IDirectPlayX_GetPlayerAccount(p, a, b, c, d)
#define DPSYS_ADDPLAYERTOGROUP
#define DPENUMSESSIONS_AVAILABLE
#define DPSEND_MAX_PRIORITY
#define DPCAPS_ENCRYPTIONSUPPORTED
#define IDirectPlayX_EnumGroups(p, a, b, c, d)
#define DPSESSION_DIRECTPLAYPROTOCOL
#define DPSESSION_PRIVATE
#define DPPLAYERCAPS_LOCAL
#define IDirectPlayX_GetMessageCount(p, a, b)
#define DPSESSION_OPTIMIZELATENCY
#define DPLCONNECTION_JOINSESSION
#define IDirectPlayX_GetSessionDesc(p, a, b)
#define DPENUMGROUPS_LOCAL
#define DPGETCAPS_GUARANTEED
#define DPCONNECTION_DIRECTPLAYLOBBY
#define IDirectPlayX_SetSessionDesc(p, a, b)
#define DPSESSION_NOPRESERVEORDER
BOOL(CALLBACK * LPDPENUMDPCALLBACKW)(LPGUID lpguidSP, LPWSTR lpSPName, DWORD dwMajorVersion, DWORD dwMinorVersion, LPVOID lpContext)
#define DPSYS_STARTSESSION
#define DPENUMSESSIONS_RETURNSTATUS
#define DPCAPS_ASYNCCANCELALLSUPPORTED
struct tagDPSESSIONDESC2 DPSESSIONDESC2
#define DPERR_CANTLOADSECURITYPACKAGE
static BOOL CALLBACK EnumGroups_cb(DPID dpId, DWORD dwPlayerType, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext)
static void test_groups_p2p(void)
static void test_EnumerateProviders(void)
static LPCSTR dpMsgType2str(DWORD dwType)
static BOOL CALLBACK EnumAddress_cb2(REFGUID guidDataType, DWORD dwDataSize, LPCVOID lpData, LPVOID lpContext)
static void test_GetPlayerCaps(void)
static void test_host_migration(void)
static BOOL is_stub_dll(const char *filename)
static void test_CreateGroup(void)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
static void test_EnumGroups(void)
static BOOL CALLBACK EnumConnections_cb(LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext)
#define FLAGS_DPLCONNECTION
static void test_COM_dplobby(void)
struct tagCallbackData CallbackData
static void test_DirectPlayCreate(void)
static void test_SessionDesc(void)
#define checkLP(expected, result)
static void test_GetPlayerFlags(void)
static BOOL CALLBACK EnumPlayers_cb(DPID dpId, DWORD dwPlayerType, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext)
static HRESULT set_firewall(enum firewall_op op)
#define checkGuid(expected, result)
static void test_GetPlayerAddress(void)
static BOOL CALLBACK EnumSessions_cb_EnumGroups(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
static void test_Open(void)
static void test_GetMessageCount(void)
static BOOL CALLBACK EnumSessions_cb_join_secure(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
static BOOL CALLBACK EnumAddress_cb(REFGUID guidDataType, DWORD dwDataSize, LPCVOID lpData, LPVOID lpContext)
static char dpid2char(DPID *dpid, DWORD dpidSize, DPID idPlayer)
static LPCSTR dwFlags2str(DWORD dwFlags, DWORD flagType)
static IDirectPlay4 * create_session(DPSESSIONDESC2 *lpdpsd)
static void test_EnumPlayers(void)
static BOOL CALLBACK callback_providersW(GUID *guid, WCHAR *name, DWORD major, DWORD minor, void *arg)
static LPSTR get_temp_buffer(void)
#define checkConv(expected, result, function)
static void test_EnumConnections(void)
static void test_InitializeConnection(void)
#define FLAGS_DPCONNECTION
static void test_Send(void)
#define check(expected, result)
static BOOL CALLBACK callback_providersA(GUID *guid, char *name, DWORD major, DWORD minor, void *arg)
static BOOL CALLBACK EnumSessions_cb(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
static void test_groups_cs(void)
static void test_GetCaps(void)
static void init_TCPIP_provider(IDirectPlay4 *pDP, LPCSTR strIPAddressString, WORD port)
static void test_Receive(void)
static BOOL CALLBACK EnumConnections_cb2(LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext)
static BOOL is_process_elevated(void)
#define checkFlags(expected, result, flags)
#define FLAGS_DPENUMGROUPS
static BOOL CALLBACK EnumSessions_cb2(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
static void test_EnumGroupsInGroup(void)
static void test_GetPlayerAccount(void)
struct tagCallbackData * lpCallbackData
static BOOL CALLBACK EnumSessions_cb_EnumPlayers(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
#define FLAGS_DPENUMSESSIONS
static void test_EnumSessions(void)
static void test_PlayerData(void)
static BOOL is_firewall_enabled(void)
static LPCSTR Guid2str(const GUID *guid)
#define checkHR(expected, result)
static LPCSTR dpResult2str(HRESULT hr)
#define FLAGS_DPMESSAGEQUEUE
static void test_GetMessageQueue(void)
static void *static void *static LPDIRECTPLAY * lplpDP
#define FLAGS_DPENUMPLAYERS
static void test_PlayerName(void)
static void test_CreatePlayer(void)
static void test_COM(void)
static void test_remote_data_replication(void)
static BOOL CALLBACK EnumSessions_cb_join(LPCDPSESSIONDESC2 lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext)
static void test_GroupOwner(void)
#define checkStr(expected, result)
static void test_EnumAddressTypes(void)
#define IDirectPlayLobby_Release(p)
#define IDirectPlayLobby_QueryInterface(p, a, b)
#define IDirectPlayLobby_CreateCompoundAddress(p, a, b, c, d)
struct IDirectPlayLobby2 IDirectPlayLobby2A
struct IDirectPlayLobby3 IDirectPlayLobby3A
#define IDirectPlayLobby_EnumAddress(p, a, b, c, d)
#define IDirectPlayLobby_AddRef(p)
struct IDirectPlayLobby IDirectPlayLobbyA
static unsigned char buff[32768]
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLenum GLuint GLenum GLsizei const GLchar * buf
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 token
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
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define sprintf(buf, format,...)
#define check_messages(a, b, c, d, e, f)
static const struct @566 sizes[]
@ COINIT_APARTMENTTHREADED
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
#define SUBLANG_ENGLISH_US
static __inline const char * wine_dbgstr_guid(const GUID *id)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
DWORD WINAPI GetLastError(void)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define CLASS_E_NOAGGREGATION
enum _TOKEN_ELEVATION_TYPE TOKEN_ELEVATION_TYPE