Advertisement
Guest User

Untitled

a guest
May 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
  2. index 0737e6e..1ec03d8 100644
  3. --- a/dlls/ntdll/cdrom.c
  4. +++ b/dlls/ntdll/cdrom.c
  5. @@ -176,6 +176,8 @@ X(IOCTL_STORAGE_CHECK_VERIFY)
  6. X(IOCTL_STORAGE_EJECTION_CONTROL)
  7. X(IOCTL_STORAGE_EJECT_MEDIA)
  8. X(IOCTL_STORAGE_GET_DEVICE_NUMBER)
  9. +X(IOCTL_STORAGE_GET_MEDIA_TYPES)
  10. +X(IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
  11. X(IOCTL_STORAGE_LOAD_MEDIA)
  12. X(IOCTL_STORAGE_MEDIA_REMOVAL)
  13. X(IOCTL_STORAGE_RESET_DEVICE)
  14. @@ -745,6 +747,18 @@ static NTSTATUS CDROM_GetDriveGeometry(int dev, int fd, DISK_GEOMETRY* dg)
  15. return ret;
  16. }
  17.  
  18. +/******************************************************************
  19. + * CDROM_GetMediaType
  20. + *
  21. + */
  22. +static NTSTATUS CDROM_GetMediaType(int dev, GET_MEDIA_TYPES* medtype)
  23. +{
  24. + FIXME(": faking success\n");
  25. + medtype->DeviceType = FILE_DEVICE_CD_ROM;
  26. + medtype->MediaInfoCount = 0;
  27. + return STATUS_SUCCESS;
  28. +}
  29. +
  30. /**************************************************************************
  31. * CDROM_Reset [internal]
  32. */
  33. @@ -2976,7 +2990,13 @@ NTSTATUS CDROM_DeviceIoControl(HANDLE hDevice,
  34. else status = CDROM_ControlEjection(fd, lpInBuffer);
  35. break;
  36.  
  37. -/* EPP case IOCTL_STORAGE_GET_MEDIA_TYPES: */
  38. + case IOCTL_STORAGE_GET_MEDIA_TYPES:
  39. + case IOCTL_STORAGE_GET_MEDIA_TYPES_EX:
  40. + sz = sizeof(GET_MEDIA_TYPES);
  41. + if (lpInBuffer != NULL || nInBufferSize != 0) status = STATUS_INVALID_PARAMETER;
  42. + else if (nOutBufferSize < sz) status = STATUS_BUFFER_TOO_SMALL;
  43. + else status = CDROM_GetMediaType(dev, lpOutBuffer);
  44. + break;
  45.  
  46. case IOCTL_STORAGE_GET_DEVICE_NUMBER:
  47. sz = sizeof(STORAGE_DEVICE_NUMBER);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement