Acessing Tape Devices having large block sizes

Discussion in 'Windows Vista Drivers' started by John Hennig, Jun 15, 2005.

  1. John Hennig

    John Hennig Guest

    I am trying to read data from a tape using the ReadFile utility with a
    HANDLE that was acquired using the CreateFile function. If I attempt to
    read a tape with small tape blocks (64K or less) everything works correctly.
    As I read tapes with larger tape blocks (64K to 1M) while increasing the
    registry setting for 'MaximumSGList' to accommodate the larger block size,
    everything works correctly. If I have a tape with 1M+ of data in a single
    tape block, the ReadFile routine returns an error that states that "More
    data is available', but since the 'MaximumSGList' is at its maximum limit
    (0xFF), I can not retrieve the data. How can this be done using the
    ReadFile function?

    Thanks
     
    John Hennig, Jun 15, 2005
    #1
    1. Advertisements

  2. John Hennig

    cristalink Guest

    What's are STORAGE_ADAPTER_DESCRIPTOR.MaximumTransferLength &
    MaximumPhysicalPages returned by IOCTL_STORAGE_QUERY_PROPERTY? You cannot
    read a block that exceeds these values.
     
    cristalink, Jun 15, 2005
    #2
    1. Advertisements

  3. John Hennig

    cristalink Guest

    I meant "what are...", of course. To my knowledge, there's no SCSI command
    that reads a part of a tape block. You can try
    IOCTL_SCSI_PASS_THROUGH_DIRECT, but it won't help if your HBA cannot handle
    1MB transfers.
     
    cristalink, Jun 15, 2005
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.