Share via


Test Cases for the CD/DVD-ROM Block Driver Test (Windows Embedded CE 6.0)

1/6/2010

The following table shows the test cases for the CD/DVD-ROM Block Driver Test.

Test case Description

6001

Device ready check

Tests the functionality of the IOCTL_CDROM_TEST_UNIT_READY IOCTL. This test case fails if the DeviceIoControl function call returns FALSE. Failure occurs if the driver does not properly support the IOCTL_CDROM_TEST_UNIT_READY control code. Failure also occurs when the DeviceIoControl function call does not set the bUnitReady flag to TRUE in the CDROM_TESTUNITREADY structure. This test case fails if there is no media in the drive because the function call sets the flag to TRUE only when there is media present.

6002

Query CD-ROM Disk information

Tests the functionality of the IOCTL_CDROM_DISC_INFO IOCTL. This test case fails if the DeviceIoControl function call returns FALSE. Failure occurs if there is no CD or DVD in the drive.

6003

Perform 1 Sector Reads

Reads each sector from the media one sector at a time and compares the contents of each sector to the contents of the image file in the release directory. For information about specifying the location of the image file by using the /image command line parameter, see Command Line Parameters for the CD/DVD-ROM Block Driver Test.

This test case fails if it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested, and when there is a discrepancy between the data on the media and the data in the image file.

6004

Perform 32 Sector Reads

Reads each sector from the media 32 sectors at a time and compares the contents of the sectors to the contents of the image file in the release directory. For information about specifying the location of the image file by using the /image command line parameter, Command Line Parameters for the CD/DVD-ROM Block Driver Test.

This test case fails when it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested, and when there is a discrepancy between the data on the media and the data in the image file.

6005

Perform 128 Sector Reads

Reads each sector from the media 128 sectors at a time and compares the contents of the sectors to the contents of the image file in the release directory. For information about specifying the location of the image file by using the /image command line parameter, see Command Line Parameters for the CD/DVD-ROM Block Driver Test.

This test case fails when it is unable to read any sector from the media in the drive. The test case also fails when the drive reads fewer bytes than were requested and when there is a discrepancy between the data on the media and the data in the image file.

6006

Test increasing read request sizes

Performs multiple-sector reads. The number of sectors included in each read starts at one and increases with each read until the number reaches the maximum number of sectors that can be read, as specified by the /maxsectors command line parameter. The data that is read is compared to the data in the specified image file. For information about specifying the location of the image file by using the /image command line parameter, see Command Line Parameters for the CD/DVD-ROM Block Driver Test.

This test case fails if the test is unable to allocate a large enough buffer to store the data being read. Such a failure does not indicate a problem and can be solved by setting a smaller maximum number of sectors using the /maxsectors parameter.

6007

Perform Multi-SG Reads

Tests the ability of the block driver to support reads with multiple scatter-gather (SG) buffers. This test reads data from the disk using a single SG buffer, and then reads the same data in multiple SG buffers. The test verifies that the data read is the same in both cases.

This test case fails if the device does not support multiple SG buffer reads.

6008

Test various buffer allocation types

Tests the ability of the drive to read data into the following types of buffers:

  • Heap allocated
  • Stack allocated
  • Page aligned
  • DWORD aligned
  • Word aligned
  • Byte aligned

This test case might fail if the drive does not appropriately support reading into an unaligned buffer.

6009

Read CD-ROM table of contents

Verifies that the driver supports the IOCTL_CDROM_READ_TOC IOCTL. If the values in the table of contents seem incorrect, the test case generates a warning, but does not fail. The test writes table of contents information to the test log. Microsoft recommends that you manually verify the log.

This test case might fail if the driver does not support the IOCTL_CDROM_READ_TOC IOCTL or if there is no media in the drive.

6011

Issue an ATAPI device info inquiry

Tests the functionality of the IOCTL_CDROM_ISSUE_INQUIRY IOCTL, passing an INQUIRY_DATA structure as the output parameter.

This test case fails if the DeviceIoControl function call returns FALSE for the IOCTL_CDROM_ISSUE_INQUIRY IOCTL.

6012

Verify media eject and load functionality

Tests the functionality of the IOCTL_CDROM_LOAD_MEDIA and IOCTL_CDROM_UNLOAD MEDIA IOCTLs. The test case first attempts to eject the media, and then follows with an IOCTL_CDROM_TEST_UNIT_READY IOCTL to verify that the media is not present. The test case then loads the media and follows with a second IOCTL_CDROM_TEST_UNIT_READY IOCTL to verify that the media is loaded.

This test case fails if any of the DeviceIoControl function calls return FALSE, if the unit appears to be ready after ejecting the media, or if the unit is not ready after reloading the media.

6101

Make image of CD media

Creates an image of the media that is loaded in the drive and saves the file containing the image in the release directory on the development workstation. For information about specifying the location of the image file by using the /image command line parameter, see Command Line Parameters for the CD/DVD-ROM Block Driver Test.

This test executes until it fails or until 328220 sectors are read. If the /dvd parameter is specified, a maximum number of 3725375 sectors are read. This test case is skipped if the test cannot access the release directory.

See Also

Other Resources

CD/DVD-ROM Block Driver Test