IOCTL_DISK_WRITE (Windows Embedded CE 6.0)

1/6/2010

This IOCTL services FAT file system requests to write data to the block device. The DeviceIoControl function processes this IOCTL.

Parameters

  • hDevice
    [in] Handle to the block device.
  • dwIoControlCode
    [in] Specifies this IOCTL.
  • lpInBuffer
    [in] Pointer to an SG_REQ structure.
  • nInBufferSize
    [in] Specifies the size of SG_REQ.
  • lpOutBuffer
    Not used.
  • nOutBufferSize
    Not used.
  • lpBytesReturned
    [out] Pointer to a DWORD to receive total number of bytes returned.
  • lpOverlapped
    Not used.

Return Values

When this code returns, the FAT file system expects the sr_statusmember of SG_REQ to be ERROR_SUCCESS if the write succeeded, or a standard error return value. Certain errors retry automatically. ERROR_BAD_UNIT retries automatically if you remove the device, and ERROR_NOT_READY retries automatically if the driver is in the process of shutting down or starting up. The block device driver should return ERROR_GEN_FAILURE for any unknown or unexpected errors, and should return ERROR_WRITE_PROTECT for attempts to write to write-protected media.

Remarks

In Windows CE 3.0, this IOCTL was changed from DISK_IOCTL_WRITE to IOCTL_DISK_WRITE.

This IOCTL call into the block driver is relative to the object store; the object store is the media that the block driver exposes. This also implies that this IOCTL call is relative to the MBR, but block drivers should not make assumptions on the existence of an MBR.

Requirements

Header diskio.h
Windows Embedded CE Windows CE 3.0 and later

See Also

Reference

Block Driver IOCTLs
DeviceIoControl
SG_REQ

Other Resources

Block Drivers