ioctl12.hlp (Topic list)
PDSK_READPHYSTRACK (1.2)
                                                      Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
#define INCL_DOSDEVIOCTL
 
USHORT DosDevIOCtl(pbBuffer, pbCommand, 0x0064, 0x0009, hDevice)
PBYTE pbBuffer;     /* pointer to structure for data     */
PBYTE pbCommand;    /* pointer to structure with command */
HFILE hDevice;      /* device handle                     */
 
The PDSK_READPHYSTRACK function reads from a physical track on the device
specified in the request.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
pbBuffer   Points to the buffer that receives the data to be read.
 
pbCommand  Points to the TRACKLAYOUT structure that contains information
           about the read operation.
 
hDevice    Identifies the disk drive that receives the device-control
           function. The handle must have been created previously by using
           the DosPhysicalDisk function.
 
Return Value
 
The return value is zero if the function is successful or an error value if
an error occurs.
 
Comments
 
This function is similar to the DSK_READTRACK function (0x0008, 0x0064)
except that I/O is offset from the beginning of the physical drive instead
of from the unit number.
 
The track table passed in the function determines the sector number, which
is passed to the disk controller. When the sectors are odd-numbered or
nonconsecutive, the request is broken into an appropriate number of
single-sector operations, and one sector at a time is read.
 
The device driver will not correctly read sectors of sizes other than 512
bytes if doing so would generate a direct-memory-access (DMA) violation
error.
 
See Also
 
DosPhysicalDisk, DSK_WRITETRACK, PDSK_VERIFYPHYSTRACK, PDSK_WRITEPHYSTRACK,
TRACKLAYOUT