17#define ok_type(condition, format, ...) ok(condition, "(%d): " format, DriveType, ##__VA_ARGS__)
18#define skip_type(format, ...) skip("(%d): " format, DriveType, ##__VA_ARGS__)
20#define IOCTL_KSEC_RANDOM_FILL_BUFFER \
21 CTL_CODE(FILE_DEVICE_KSEC, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS)
25 static const PWSTR KsecDevicePath =
L"\\\\.\\Global\\GLOBALROOT\\Device\\KsecDD";
67 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
85 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
121 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
134 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
140 if (AllocatedMDN ==
NULL)
142 skip_type(
"Memory allocation failure\n");
164 IsValid = (AllocatedMDN->
Name[12] ==
Letter && AllocatedMDN->
Name[13] ==
L':');
171 skip_type(
"Failed to query device name\n");
187 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
200 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
206 if (AllocatedMUI ==
NULL)
208 skip_type(
"Memory allocation failure\n");
231 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
244 ok_type(Ret == 0,
"DeviceIoControl succeed\n");
261 DWORD DriveMap, Current;
262 BOOL DiskDone, CdRomDone;
269 for (Current = 0; Current < 26; ++Current)
271 if (DriveMap & (1 << Current))
274 ok(Ret ==
S_OK,
"StringCchPrintfW failed: %d\n", Ret);
281 ok(Ret ==
S_OK,
"StringCchPrintfW failed: %d\n", Ret);
303 if (CdRomDone && DiskDone)
312 skip(
"No disk drive found\n");
317 skip(
"No CDROM drive found\n");
#define ok_type(condition, format,...)
static VOID QueryUniqueId(VOID)
static BOOL GetDiskGeometry(VOID)
static VOID QuerySuggestedLinkName(VOID)
#define skip_type(format,...)
static VOID QueryDeviceName(VOID)
#define IOCTL_KSEC_RANDOM_FILL_BUFFER
static void Test_DeviceIoControl_Parameters(void)
PRTL_UNICODE_STRING_BUFFER Path
#define ok_eq_ulong(value, expected)
#define ok_eq_bool(value, expected)
#define EndSeh(ExpectedStatus)
#define IOCTL_DISK_GET_DRIVE_GEOMETRY
#define ERROR_INSUFFICIENT_BUFFER
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define FILE_ATTRIBUTE_NORMAL
UINT WINAPI GetDriveTypeW(IN LPCWSTR lpRootPathName)
DWORD WINAPI DECLSPEC_HOTPATCH GetLogicalDrives(void)
_ACRTIMP wchar_t *__cdecl wcsstr(const wchar_t *, const wchar_t *)
#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX
#define ERROR_FILE_NOT_FOUND
#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME
#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME
#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID
#define FILE_SHARE_DELETE
#define _WIN32_WINNT_WIN8
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
#define FIELD_OFFSET(t, f)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
DWORD WINAPI GetLastError(void)