static void test_SetupCreateDiskSpaceListW(void) { HDSKSPC ret; ret = SetupCreateDiskSpaceListW(NULL, 0, 0); if (!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) { win_skip("SetupCreateDiskSpaceListW is not implemented\n"); return; } ok(ret != NULL, "Expected SetupCreateDiskSpaceListW to return a valid handle, got NULL\n"); ok(SetupDestroyDiskSpaceList(ret), "Expected SetupDestroyDiskSpaceList to succeed\n"); ret = SetupCreateDiskSpaceListW(NULL, 0, SPDSL_IGNORE_DISK); ok(ret != NULL, "Expected SetupCreateDiskSpaceListW to return a valid handle, got NULL\n"); ok(SetupDestroyDiskSpaceList(ret), "Expected SetupDestroyDiskSpaceList to succeed\n"); SetLastError(0xdeadbeef); ret = SetupCreateDiskSpaceListW(NULL, 0, ~0U); ok(ret == NULL || broken(ret != NULL), /* NT4/Win2k */ "Expected SetupCreateDiskSpaceListW to return NULL, got %p\n", ret); if (!ret) ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); else ok(SetupDestroyDiskSpaceList(ret), "Expected SetupDestroyDiskSpaceList to succeed\n"); SetLastError(0xdeadbeef); ret = SetupCreateDiskSpaceListW(NULL, 0xdeadbeef, 0); ok(ret == NULL, "Expected SetupCreateDiskSpaceListW to return NULL, got %p\n", ret); ok(GetLastError() == ERROR_INVALID_PARAMETER || broken(GetLastError() == 0xdeadbeef), /* NT4/Win2k */ "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); ret = SetupCreateDiskSpaceListW((void *)0xdeadbeef, 0, 0); ok(ret == NULL, "Expected SetupCreateDiskSpaceListW to return NULL, got %p\n", ret); ok(GetLastError() == ERROR_INVALID_PARAMETER || broken(GetLastError() == 0xdeadbeef), /* NT4/Win2k */ "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); ret = SetupCreateDiskSpaceListW((void *)0xdeadbeef, 0xdeadbeef, 0); ok(ret == NULL, "Expected SetupCreateDiskSpaceListW to return NULL, got %p\n", ret); ok(GetLastError() == ERROR_INVALID_PARAMETER || broken(GetLastError() == 0xdeadbeef), /* NT4/Win2k */ "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); }
static void test_SetupDuplicateDiskSpaceListW(void) { HDSKSPC handle, duplicate; SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(NULL, NULL, 0, 0); if (!duplicate && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) { win_skip("SetupDuplicateDiskSpaceListW is not available\n"); return; } ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_HANDLE, "Expected GetLastError() to return ERROR_INVALID_HANDLE, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(NULL, (void *)0xdeadbeef, 0, 0); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(NULL, NULL, 0xdeadbeef, 0); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(NULL, NULL, 0, ~0U); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); handle = SetupCreateDiskSpaceListW(NULL, 0, 0); ok(handle != NULL, "Expected SetupCreateDiskSpaceListW to return a valid handle, got NULL\n"); if (!handle) { skip("Failed to create a disk space handle\n"); return; } SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(handle, (void *)0xdeadbeef, 0, 0); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(handle, NULL, 0xdeadbeef, 0); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(handle, NULL, 0, SPDSL_IGNORE_DISK); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); duplicate = SetupDuplicateDiskSpaceListW(handle, NULL, 0, ~0U); ok(!duplicate, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected GetLastError() to return ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); duplicate = SetupDuplicateDiskSpaceListW(handle, NULL, 0, 0); ok(duplicate != NULL, "Expected SetupDuplicateDiskSpaceList to return NULL, got %p\n", duplicate); ok(duplicate != handle, "Expected new handle (%p) to be different from the old handle (%p)\n", duplicate, handle); ok(SetupDestroyDiskSpaceList(duplicate), "Expected SetupDestroyDiskSpaceList to succeed\n"); ok(SetupDestroyDiskSpaceList(handle), "Expected SetupDestroyDiskSpaceList to succeed\n"); }
/*********************************************************************** * SetupCreateDiskSpaceListA (SETUPAPI.@) */ HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID Reserved1, DWORD Reserved2, UINT Flags) { return SetupCreateDiskSpaceListW( Reserved1, Reserved2, Flags ); }