Alex Pasadyn
ajp@mail.utexas.edu
ChangeLog:
- Fix return from IOCTL_CDROM_CHECK_VERIFY
Index: dlls/ntdll/cdrom.c =================================================================== RCS file: /home/wine/wine/dlls/ntdll/cdrom.c,v retrieving revision 1.20 diff -u -r1.20 cdrom.c --- dlls/ntdll/cdrom.c 13 Sep 2002 21:42:28 -0000 1.20 +++ dlls/ntdll/cdrom.c 12 Dec 2002 02:36:31 -0000 @@ -759,7 +759,7 @@ SUB_Q_CHANNEL_DATA data; fmt.Format = IOCTL_CDROM_CURRENT_POSITION; - return CDROM_ReadQChannel(dev, &fmt, &data) ? 0 : 1; + return CDROM_ReadQChannel(dev, &fmt, &data) ? 1 : 0; } /******************************************************************
// TestCdromVerify.cpp // To compile with MSVC: CL TestCdromVerify.cpp #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdio.h> #include <winioctl.h> int main (int argc, char **argv) { HANDLE hDevice; BOOL bPresent = false; DWORD dwOutput; char sDriveString[10]; if (argc<2 || strlen(argv[1])>1) { printf("Call is\n%s x\nwhere x is the drive letter for the cdrom\n", argv[0]); return 1; } sprintf(sDriveString,"\\\\.\\%s:",argv[1]); hDevice = CreateFile(sDriveString, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); if (hDevice != INVALID_HANDLE_VALUE) { bPresent = DeviceIoControl(hDevice, IOCTL_STORAGE_CHECK_VERIFY, NULL, 0, NULL, 0, &dwOutput, NULL); if (bPresent) { printf("a CD is present in the drive\n"); } else { printf("there is nothing in the drive or an error was encountered\n"); } } else { printf("error accessing drive"); } CloseHandle(hDevice); return 0; }