ok(info_size == sizeof(buffer), "Got wrong size: %u\n", info_size);
- fail_size = 0;
+ fail_size = 1;
ret = WNetGetUniversalNameA(driveA, UNIVERSAL_NAME_INFO_LEVEL,
buffer, &fail_size);
if(drive_type == DRIVE_REMOTE)
- todo_wine ok(ret == WN_BAD_VALUE, "WNetGetUniversalNameA failed: %08x\n", ret);
+ {
+ todo_wine ok(ret == WN_BAD_VALUE || ret == WN_MORE_DATA, "WNetGetUniversalNameA failed: %08x\n", ret);
+ ok(fail_size > 1, "Got %d\n", fail_size);
+ }
else
ok(ret == WN_NOT_CONNECTED || ret == WN_NO_NET_OR_BAD_PATH,
"(%s) WNetGetUniversalNameW gave wrong error: %u\n", driveA, ret);
- fail_size = sizeof(driveA) / sizeof(char) - 1;
+ fail_size = ARRAY_SIZE(driveA) - 1;
ret = WNetGetUniversalNameA(driveA, UNIVERSAL_NAME_INFO_LEVEL,
buffer, &fail_size);
if(drive_type == DRIVE_REMOTE)
buffer, &fail_size);
if(drive_type == DRIVE_REMOTE)
todo_wine
- ok(ret == WN_BAD_VALUE, "WNetGetUniversalNameA failed: %08x\n", ret);
+ ok(ret == WN_BAD_VALUE || ret == WN_MORE_DATA, "WNetGetUniversalNameA failed: %08x\n", ret);
else
ok(ret == WN_NOT_CONNECTED || ret == WN_NO_NET_OR_BAD_PATH,
"(%s) WNetGetUniversalNameA gave wrong error: %u\n", driveA, ret);
ret = WNetGetUniversalNameA(driveA, REMOTE_NAME_INFO_LEVEL,
NULL, &info_size);
- if(((GetVersion() & 0x8000ffff) == 0x00000004) || /* NT40 */
- (drive_type == DRIVE_REMOTE))
+ if(drive_type == DRIVE_REMOTE)
todo_wine
- ok(ret == WN_BAD_POINTER, "WNetGetUniversalNameA failed: %08x\n", ret);
+ ok(ret == WN_BAD_POINTER || ret == WN_BAD_VALUE, "WNetGetUniversalNameA failed: %08x\n", ret);
else
ok(ret == WN_NOT_CONNECTED || ret == WN_BAD_VALUE,
"(%s) WNetGetUniversalNameA gave wrong error: %u\n", driveA, ret);
- fail_size = sizeof(driveA) / sizeof(char) - 1;
+ fail_size = ARRAY_SIZE(driveA) - 1;
ret = WNetGetUniversalNameA(driveA, REMOTE_NAME_INFO_LEVEL,
buffer, &fail_size);
if(drive_type == DRIVE_REMOTE)
strcpy(netRes->lpRemoteName, "\\\\127.0.0.1\\c$");
bufSize = 0;
ret = pWNetUseConnectionA(NULL, netRes, NULL, NULL, 0, NULL, &bufSize, &outRes);
- if (ret == ERROR_ALREADY_ASSIGNED) continue;
+ if (ret != ERROR_ALREADY_ASSIGNED) break;
}
+ if (ret == ERROR_ALREADY_ASSIGNED) goto end; /* no drives available */
todo_wine ok(ret == WN_SUCCESS, "Unexpected return: %u\n", ret);
ok(bufSize == 0, "Unexpected buffer size: %u\n", bufSize);
if (ret == WN_SUCCESS) WNetCancelConnectionA(drive, TRUE);
ok(bufSize == 4, "Unexpected buffer size: %u\n", bufSize);
if (ret == WN_SUCCESS) WNetCancelConnectionA(drive, TRUE);
+end:
HeapFree(GetProcessHeap(), 0, netRes);
}