65 char drivestr[] =
"a:";
66 char *
p, *
buffer, buffer2[2000];
74 "QueryDosDeviceA(no buffer): returned %u, le=%u\n",
ret,
GetLastError());
80 "QueryDosDeviceA failed to return list, last error %u\n",
GetLastError());
87 ok(ret2,
"QueryDosDeviceA failed to return current mapping for %s, last error %u\n",
p,
GetLastError());
93 for (;drivestr[0] <=
'z'; drivestr[0]++) {
97 "QueryDosDeviceA failed to return current mapping for %s, last error %u\n", drivestr,
GetLastError());
103 ok(found,
"expected at least one devicename to contain HARDDISK or RAMDISK\n");
116 for (drivestr[0] =
'a'; drivestr[0] <=
'z'; drivestr[0]++) {
120 if (drivestr[0] >
'z') {
121 skip(
"can't test creating a dos drive, none available\n");
127 ok(
ret,
"GetCurrentDir\n");
131 ok(
ret,
"Could not make drive %s point to %s!\n", drivestr,
buf);
134 skip(
"can't test removing fake drive\n");
137 ok(
ret,
"Could not remove fake drive %s!\n", drivestr);
147 if (!pFindFirstVolumeA) {
148 win_skip(
"FindFirstVolumeA not found\n");
171 pFindVolumeClose(
handle );
183 if (!pGetVolumeNameForVolumeMountPointA) {
184 win_skip(
"GetVolumeNameForVolumeMountPointA not found\n");
190 ok(reti <
MAX_PATH,
"temp path should fit into MAX_PATH\n");
193 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointA succeeded\n");
200 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointA succeeded\n");
203 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointA succeeded\n");
207 ok(
ret ==
TRUE,
"GetVolumeNameForVolumeMountPointA failed\n");
209 "GetVolumeNameForVolumeMountPointA failed to return valid string <%s>\n",
215 "GetVolumeNameForVolumeMountPointA failed, wrong error returned, was %d, should be ERROR_FILENAME_EXCED_RANGE\n",
224 "GetVolumeNameForVolumeMountPointA failed on %s, last=%d\n",
238 "GetVolumeNameForVolumeMountPointA failed on %s, last=%d\n",
245 "GetVolumeNameForVolumeMountPointA failed on %s, last=%d\n",
257 if (!pGetVolumeNameForVolumeMountPointW) {
258 win_skip(
"GetVolumeNameForVolumeMountPointW not found\n");
263 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointW succeeded\n");
270 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointW succeeded\n");
273 ok(
ret ==
FALSE,
"GetVolumeNameForVolumeMountPointW succeeded\n");
277 ok(
ret ==
TRUE,
"GetVolumeNameForVolumeMountPointW failed\n");
285 ok( pGetLogicalDriveStringsA !=
NULL,
"GetLogicalDriveStringsA not available\n");
286 if(!pGetLogicalDriveStringsA) {
290 size = pGetLogicalDriveStringsA(0,
NULL);
296 size2 = pGetLogicalDriveStringsA(2,
buf);
297 ok(size2 ==
size,
"size2 = %d\n", size2);
298 ok(!*
buf,
"buf changed\n");
300 size2 = pGetLogicalDriveStringsA(
size,
buf);
301 ok(size2 ==
size-1,
"size2 = %d\n", size2);
304 ok((
'A' <= *
ptr && *
ptr <=
'Z'),
"device name '%c' is not uppercase\n", *
ptr);
305 ok(
ptr[1] ==
':',
"ptr[1] = %c, expected ':'\n",
ptr[1]);
306 ok(
ptr[2] ==
'\\',
"ptr[2] = %c expected '\\'\n",
ptr[2]);
307 ok(!
ptr[3],
"ptr[3] = %c expected nullbyte\n",
ptr[3]);
309 ok(!*
ptr,
"buf[size2] is not nullbyte\n");
319 ok( pGetLogicalDriveStringsW !=
NULL,
"GetLogicalDriveStringsW not available\n");
320 if(!pGetLogicalDriveStringsW) {
325 size = pGetLogicalDriveStringsW(0,
NULL);
327 win_skip(
"GetLogicalDriveStringsW not implemented\n");
335 size2 = pGetLogicalDriveStringsW(2,
buf);
336 ok(size2 ==
size,
"size2 = %d\n", size2);
337 ok(!*
buf,
"buf changed\n");
339 size2 = pGetLogicalDriveStringsW(
size,
buf);
340 ok(size2 ==
size-1,
"size2 = %d\n", size2);
343 ok(
'A' <= *
ptr && *
ptr <=
'Z',
"device name '%c' is not uppercase\n", *
ptr);
344 ok(
ptr[1] ==
':',
"ptr[1] = %c, expected ':'\n",
ptr[1]);
345 ok(
ptr[2] ==
'\\',
"ptr[2] = %c expected '\\'\n",
ptr[2]);
346 ok(!
ptr[3],
"ptr[3] = %c expected nullbyte\n",
ptr[3]);
348 ok(!*
ptr,
"buf[size2] is not nullbyte\n");
357 char Root_Colon[]=
"C:";
358 char Root_Slash[]=
"C:\\";
359 char Root_UNC[]=
"\\\\?\\C:\\";
361 DWORD vol_name_size=
MAX_PATH+1, vol_serial_num=-1, max_comp_len=0, fs_flags=0, fs_name_len=
MAX_PATH+1;
366 ok( pGetVolumeInformationA !=
NULL,
"GetVolumeInformationA not found\n");
367 if(!pGetVolumeInformationA) {
373 ok(
result <
sizeof(windowsdir),
"windowsdir is abnormally long!\n");
375 Root_Colon[0] = windowsdir[0];
376 Root_Slash[0] = windowsdir[0];
377 Root_UNC[4] = windowsdir[0];
386 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
387 NULL,
NULL, fs_name_buf, fs_name_len);
394 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
395 NULL,
NULL, fs_name_buf, fs_name_len);
397 "GetVolumeInformationA did%s fail, last error %u\n",
ret ?
" not":
"",
GetLastError());
404 skip(
"Please re-run from another device than %c:\n", windowsdir[0]);
407 char Root_Env[]=
"=C:";
408 Root_Env[1] = windowsdir[0];
413 ok(
ret,
"SetEnvironmentVariable %s failed\n", Root_Env);
422 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
423 NULL,
NULL, fs_name_buf, fs_name_len);
425 "GetVolumeInformationA did%s fail, last error %u\n",
ret ?
" not":
"",
GetLastError());
428 ret = pGetVolumeInformationA(Root_Slash, vol_name_buf, vol_name_size,
NULL,
429 NULL,
NULL, fs_name_buf, fs_name_len);
430 ok(
ret,
"GetVolumeInformationA with \\ failed, last error %u\n",
GetLastError());
440 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
441 NULL,
NULL, fs_name_buf, fs_name_len);
443 "GetVolumeInformationA did%s fail, last error %u\n",
ret ?
" not":
"",
GetLastError());
447 ok(
ret,
"SetEnvironmentVariable %s failed\n", Root_Env);
450 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
451 NULL,
NULL, fs_name_buf, fs_name_len);
461 ret = pGetVolumeInformationA(Root_Colon, vol_name_buf, vol_name_size,
NULL,
462 NULL,
NULL, fs_name_buf, fs_name_len);
467 ret = pGetVolumeInformationA(
NULL, vol_name_buf, vol_name_size,
NULL,
468 NULL,
NULL, fs_name_buf, fs_name_len);
469 ok(
ret,
"GetVolumeInformationA failed on null root dir, last error %u\n",
GetLastError());
472 ret = pGetVolumeInformationA(Root_Slash, vol_name_buf, vol_name_size,
473 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
474 ok(
ret,
"GetVolumeInformationA failed, root=%s, last error=%u\n", Root_Slash,
GetLastError());
478 ret = pGetVolumeInformationA(Root_UNC, vol_name_buf, vol_name_size,
479 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
480 ok(
ret,
"GetVolumeInformationA did%s fail, root=%s, last error=%u\n",
ret ?
" not":
"", Root_UNC,
GetLastError());
485 ret = pGetVolumeInformationA(Root_UNC, vol_name_buf, vol_name_size,
486 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
487 ok(
ret,
"GetVolumeInformationA did%s fail, root=%s, last error=%u\n",
ret ?
" not":
"", Root_UNC,
GetLastError());
490 if (windowsdir[
strlen(windowsdir)-1] !=
'\\')
strcat(windowsdir,
"\\");
492 ret = pGetVolumeInformationA(windowsdir, vol_name_buf, vol_name_size,
493 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
495 "GetVolumeInformationA did%s fail, root=%s, last error=%u\n",
ret ?
" not":
"", windowsdir,
GetLastError());
497 if (windowsdir[
strlen(windowsdir)-1] ==
'\\') windowsdir[
strlen(windowsdir)-1] = 0;
499 ret = pGetVolumeInformationA(windowsdir, vol_name_buf, vol_name_size,
500 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
502 "GetVolumeInformationA did%s fail, root=%s, last error=%u\n",
ret ?
" not":
"", windowsdir,
GetLastError());
504 if (!pGetVolumeNameForVolumeMountPointA) {
505 win_skip(
"GetVolumeNameForVolumeMountPointA not found\n");
510 ok(
ret ==
TRUE,
"GetVolumeNameForVolumeMountPointA failed\n");
513 ret = pGetVolumeInformationA(
volume, vol_name_buf, vol_name_size,
514 &vol_serial_num, &max_comp_len, &fs_flags, fs_name_buf, fs_name_len);
527 char path[] =
"c:\\";
531 if (!pGetVolumeNameForVolumeMountPointA) {
532 win_skip(
"GetVolumeNameForVolumeMountPointA not found\n");
538 ok(
ret <
sizeof(windowsdir),
"windowsdir is abnormally long!\n");
540 path[0] = windowsdir[0];
544 ok(
ret ==
TRUE,
"GetVolumeNameForVolumeMountPointA failed\n");
545 ok(
strlen(Volume_1) == 49,
"GetVolumeNameForVolumeMountPointA returned wrong length name %s\n", Volume_1);
548 hFind = pFindFirstVolumeA( Volume_2,
MAX_PATH );
556 ok(
strlen(Volume_2) == 49,
"Find[First/Next]Volume returned wrong length name %s\n", Volume_1);
557 if (
memcmp(Volume_1, Volume_2, 49) == 0)
562 }
while (pFindNextVolumeA( hFind, Volume_2,
MAX_PATH ));
563 ok(found,
"volume name %s not found by Find[First/Next]Volume\n", Volume_1);
564 pFindVolumeClose( hFind );
586 win_skip(
"IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS not supported\n");
591 ok(
size == 32,
"expected 32, got %u\n",
size);
626 "C:\\",
"C:\\",
sizeof(volume_path),
630 "c:\\",
"C:\\",
sizeof(volume_path),
634 "C::",
"C:\\",
sizeof(volume_path),
638 "\\\\$$$",
"C:\\", 1,
642 "C:\\windows\\system32",
"C:\\",
sizeof(volume_path),
646 "C:\\windows\\system32\\AnInvalidFolder",
"C:\\",
sizeof(volume_path),
650 "\\\\?\\C:\\AnInvalidFolder",
"\\\\?\\C:\\",
sizeof(volume_path),
654 "\\\\?\\InvalidDrive:\\AnInvalidFolder",
"\\\\?\\InvalidDrive:\\" ,
659 "\\\\?\\Volume{00000000-00-0000-0000-000000000000}\\AnInvalidFolder",
660 "\\\\?\\Volume{00000000-00-0000-0000-000000000000}\\" ,
665 "\\\\ReallyBogus\\InvalidDrive:\\AnInvalidFolder",
666 "\\\\ReallyBogus\\InvalidDrive:\\" ,
sizeof(volume_path),
678 "InvalidDrive:\\AnInvalidFolder",
"%CurrentDrive%\\",
sizeof(volume_path),
682 "\\??\\CdRom0",
"%CurrentDrive%\\",
sizeof(volume_path),
686 "\\??\\ReallyBogus",
"%CurrentDrive%\\",
sizeof(volume_path),
718 "C:\\windows\\system32\\AnInvalidFolder",
"C:", 3,
722 "\\\\?\\C:\\AnInvalidFolder",
"\\\\?\\C:", 3,
726 "\\\\?\\C:\\AnInvalidFolder",
"\\\\?\\C:", 6,
730 "\\\\?\\C:\\AnInvalidFolder",
"\\\\?\\C:", 7,
734 "\\\\?\\c:\\AnInvalidFolder",
"\\\\?\\c:", 7,
746 "C:ABC:DEF:\\AnInvalidFolder",
"C:\\", 4,
750 "?:ABC:DEF:\\AnInvalidFolder",
"?:\\" ,
sizeof(volume_path),
754 "relative/path",
"%CurrentDrive%\\",
sizeof(volume_path),
758 "/unix-style/absolute/path",
"%CurrentDrive%\\",
sizeof(volume_path),
762 "\\??\\C:\\NonExistent",
"%CurrentDrive%\\",
sizeof(volume_path),
766 "\\??\\M:\\NonExistent",
"%CurrentDrive%\\",
sizeof(volume_path),
770 "somefile:def",
"%CurrentDrive%\\",
sizeof(volume_path),
774 "s:omefile",
"S:\\" ,
sizeof(volume_path),
783 if (!pGetVolumePathNameA)
785 win_skip(
"required functions not found\n");
791 ok(
ret,
"Failed to obtain the current working directory.\n" );
794 ok(
ret,
"Failed to set an environment variable for the current working drive.\n" );
796 for (
i=0;
i<
sizeof(test_paths)/
sizeof(test_paths[0]);
i++)
799 char *output = (test_paths[
i].path_name !=
NULL ? volume_path :
NULL);
803 if (test_paths[
i].
path_len <
sizeof(volume_path))
804 volume_path[ test_paths[
i].
path_len ] = 0x11;
810 "GetVolumePathName test %d %s unexpectedly.\n",
821 ok(
success,
"GetVolumePathName test %d unexpectedly returned path %s (expected %s).\n",
828 ok(
success,
"GetVolumePathName test %d unexpectedly returned error 0x%x (expected 0x%x).\n",
832 if (test_paths[
i].
path_len <
sizeof(volume_path))
834 "GetVolumePathName test %d corrupted byte after end of buffer.\n",
i);
840 static WCHAR drive_c1[] = {
'C',
':',0};
841 static WCHAR drive_c2[] = {
'C',
':',
'\\',0};
845 if (!pGetVolumePathNameW)
847 win_skip(
"required functions not found\n");
852 volume_path[1] = 0x11;
853 ret = pGetVolumePathNameW( drive_c1, volume_path, 1 );
854 ok(!
ret,
"GetVolumePathNameW test succeeded unexpectedly.\n");
857 ok(volume_path[1] == 0x11,
"GetVolumePathW corrupted byte after end of buffer.\n");
860 volume_path[2] = 0x11;
861 ret = pGetVolumePathNameW( drive_c1, volume_path, 2 );
862 ok(!
ret,
"GetVolumePathNameW test succeeded unexpectedly.\n");
865 ok(volume_path[2] == 0x11,
"GetVolumePathW corrupted byte after end of buffer.\n");
868 volume_path[3] = 0x11;
869 ret = pGetVolumePathNameW( drive_c1, volume_path, 3 );
870 ok(
ret ||
broken(!
ret) ,
"GetVolumePathNameW test failed unexpectedly.\n");
871 ok(
memcmp(volume_path, drive_c1,
sizeof(drive_c1)) == 0
872 ||
broken(volume_path[0] == 0) ,
873 "GetVolumePathNameW unexpectedly returned wrong path.\n");
874 ok(volume_path[3] == 0x11,
"GetVolumePathW corrupted byte after end of buffer.\n");
877 volume_path[4] = 0x11;
878 ret = pGetVolumePathNameW( drive_c1, volume_path, 4 );
879 ok(
ret,
"GetVolumePathNameW test failed unexpectedly.\n");
880 ok(
memcmp(volume_path, drive_c2,
sizeof(drive_c2)) == 0,
"GetVolumePathNameW unexpectedly returned wrong path.\n");
881 ok(volume_path[4] == 0x11,
"GetVolumePathW corrupted byte after end of buffer.\n");
890 if (!pGetVolumePathNamesForVolumeNameA || !pGetVolumeNameForVolumeMountPointA)
892 win_skip(
"required functions not found\n");
896 ret = pGetVolumeNameForVolumeMountPointA(
"c:\\",
volume,
sizeof(
volume) );
903 ok(!
ret,
"expected failure\n");
907 ret = pGetVolumePathNamesForVolumeNameA(
"",
NULL, 0,
NULL );
909 ok(!
ret,
"expected failure\n");
915 ok(!
ret,
"expected failure\n");
921 ok(!
ret,
"expected failure\n");
928 ok(!
buffer[4],
"expected double null-terminated buffer\n");
934 ok(!
ret,
"expected failure\n");
941 ok(!
ret,
"expected failure\n");
948 ok(!
ret,
"expected failure\n");
955 ok(!
ret,
"expected failure\n");
964 ok(!
buffer[4],
"expected double null-terminated buffer\n");
970 static const WCHAR drive_c[] = {
'c',
':',
'\\',0};
971 static const WCHAR volume_null[] = {
'\\',
'\\',
'?',
'\\',
'V',
'o',
'l',
'u',
'm',
'e',
972 '{',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'-',
'0',
'0',
'0',
'0',
'-',
'0',
'0',
'0',
'0',
973 '-',
'0',
'0',
'0',
'0',
'-',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'}',
'\\',0};
985 if (!pGetVolumePathNamesForVolumeNameW || !pGetVolumeNameForVolumeMountPointW)
987 win_skip(
"required functions not found\n");
997 ok(!
ret,
"expected failure\n");
1003 ok(!
ret,
"expected failure\n");
1009 ok(!
ret,
"expected failure\n");
1024 ok(
len == 5,
"expected 5 got %u\n",
len);
1025 ok(!
buffer[4],
"expected double null-terminated buffer\n");
1033 ok(!
ret,
"expected failure\n");
1042 ok(!
ret,
"expected failure\n");
1050 ok(!
ret,
"expected failure\n");
1071 dvdReadStructure.
Format = 0;
1086 ok( completeDvdLayerDescriptor.
Header.
Length == 0x0802,
"Length is 0x%04x instead of 0x0802\n", completeDvdLayerDescriptor.
Header.
Length);
1098 &completeDvdLayerDescriptor,
i, &nbBytes,
NULL);
1109 "IOCTL_DVD_READ_STRUCTURE should have failed\n");
1116 "IOCTL_DVD_READ_STRUCTURE should have failed\n");
1126 "IOCTL_DVD_READ_STRUCTURE should have failed\n");
1131 dvdReadStructure.
Format = 1;
1145 &dvdCopyrightDescriptor,
i, &nbBytes,
NULL);
1151 dvdReadStructure.
Format = 4;
1158 "IOCTL_DVD_READ_STRUCTURE (DvdManufacturerDescriptor) failed, last error = %u\n",
GetLastError());
1163 ok( completeDvdManufacturerDescriptor.
Header.
Length == 0x0802,
"Length is 0x%04x instead of 0x0802\n", completeDvdManufacturerDescriptor.
Header.
Length);
1164 ok( completeDvdManufacturerDescriptor.
Header.
Reserved[0] == 0,
"Reserved[0] is %x instead of 0\n", completeDvdManufacturerDescriptor.
Header.
Reserved[0]);
1165 ok( completeDvdManufacturerDescriptor.
Header.
Reserved[1] == 0,
"Reserved[1] is %x instead of 0\n", completeDvdManufacturerDescriptor.
Header.
Reserved[1]);
1177 char drive_letter, drive_path[] =
"A:\\", drive_full_path[] =
"\\\\.\\A:";
1188 for(drive_letter=
'A'; drive_letter<=
'Z'; drive_letter++)
1190 if(!(bitmask & (1 << (drive_letter-
'A') )))
1193 drive_path[0] = drive_letter;
1196 trace(
"Skipping %c:, not a CDROM drive.\n", drive_letter);
1200 trace(
"Testing with %c:\n", drive_letter);
1202 drive_full_path[4] = drive_letter;
1221 pGetVolumeNameForVolumeMountPointA = (
void *)
GetProcAddress(
hdll,
"GetVolumeNameForVolumeMountPointA");
1222 pGetVolumeNameForVolumeMountPointW = (
void *)
GetProcAddress(
hdll,
"GetVolumeNameForVolumeMountPointW");
1231 pGetVolumePathNamesForVolumeNameA = (
void *)
GetProcAddress(
hdll,
"GetVolumePathNamesForVolumeNameA");
1232 pGetVolumePathNamesForVolumeNameW = (
void *)
GetProcAddress(
hdll,
"GetVolumePathNamesForVolumeNameW");
char * strcat(char *DstString, const char *SrcString)
int strcmp(const char *String1, const char *String2)
char * strstr(char *String1, char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
#define IOCTL_DVD_READ_STRUCTURE
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_FUNCTION
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)
static const WCHAR empty[]
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
#define HeapFree(x, y, z)
#define ERROR_INVALID_NAME
DWORD WINAPI QueryDosDeviceA(LPCSTR lpDeviceName, LPSTR lpTargetPath, DWORD ucchMax)
BOOL WINAPI DefineDosDeviceA(DWORD dwFlags, LPCSTR lpDeviceName, LPCSTR lpTargetPath)
DWORD WINAPI ExpandEnvironmentStringsA(IN LPCSTR lpSrc, IN LPSTR lpDst, IN DWORD nSize)
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableA(IN LPCSTR lpName, IN LPCSTR lpValue)
UINT WINAPI GetDriveTypeA(IN LPCSTR lpRootPathName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
DWORD WINAPI GetCurrentDirectoryA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
UINT WINAPI GetWindowsDirectoryA(OUT LPSTR lpBuffer, IN UINT uSize)
BOOL WINAPI SetCurrentDirectoryA(IN LPCSTR lpPathName)
DWORD WINAPI GetTempPathA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
struct _DVD_DESCRIPTOR_HEADER DVD_DESCRIPTOR_HEADER
struct _DVD_COPYRIGHT_DESCRIPTOR DVD_COPYRIGHT_DESCRIPTOR
static char * path_name(DOS_FILE *file)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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
#define ERROR_FILE_NOT_FOUND
static void test_define_dos_deviceA(void)
static void test_GetLogicalDriveStringsA(void)
static void test_dvd_read_structure(HANDLE handle)
static void test_GetVolumePathNameA(void)
static void test_GetVolumeInformationA(void)
static void test_query_dos_deviceA(void)
static void test_FindFirstVolume(void)
static void test_cdrom_ioctl(void)
static void test_enum_vols(void)
static void test_GetVolumePathNameW(void)
static void test_GetVolumePathNamesForVolumeNameW(void)
static void test_GetLogicalDriveStringsW(void)
static void test_GetVolumePathNamesForVolumeNameA(void)
static void test_GetVolumeNameForVolumeMountPointA(void)
static void test_GetVolumeNameForVolumeMountPointW(void)
static void test_disk_extents(void)
#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
DVD_DESCRIPTOR_HEADER Header
DVD_LAYER_DESCRIPTOR Descriptor
DVD_MANUFACTURER_DESCRIPTOR Descriptor
DVD_DESCRIPTOR_HEADER Header
LARGE_INTEGER BlockByteOffset
DVD_STRUCTURE_FORMAT Format
#define success(from, fromstr, to, tostr)
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetLogicalDrives(void)
#define DDD_REMOVE_DEFINITION
#define ERROR_NO_MORE_FILES
#define ERROR_DIR_NOT_ROOT
#define ERROR_FILENAME_EXCED_RANGE
#define ERROR_NOT_A_REPARSE_POINT