Block Driver Interface (Windows Embedded CE 6.0)

1/6/2010

Block drivers should expose the stream interface. For more information about the stream interface, see Stream Interface Driver Development Concepts.

The prefix "DSK_" is customary for block devices, which often include disk drives and other mass storage media. However, block drivers can have any legal device file name prefix. For more information about device file name prefixes, see Device File Names Prefixes.

The reference entries for the stream interface functions describe the sample implementations of these functions. You can modify the semantics of these functions, but not the syntax, to suit the capabilities of your device.

In addition to exposing the stream interface, the block device driver must also expose certain other functions. The following table shows the other functions that a block driver must expose.

Function Description

MyDriverEntry

MyDriverEntry is a placeholder for the actual name of your DLL's entry point.

After the Device Manager calls LoadLibrary to map the DLL, the system calls MyDriverEntry. For more information about the Device Manager, see Device Manager.

This function performs any initialization tasks that are necessary for the block device driver.

On successful return from MyDriverEntry, the Device Manager associates the driver's stream interface functions with a special device file name so that applications can access the device.

Block device drivers must respond to the I/O control codes shown in the following tables to interface properly with the FAT file system.

The following table shows the block device I/O control codes.

I/O control code Description

IOCTL_DISK_DEVICE_INFO

Returns storage information to block device drivers.

IOCTL_DISK_FORMAT_MEDIA

Formats at a low level or reformats the block device.

IOCTL_DISK_GET_STORAGEID

Retrieves the identifier associated with a storage device. These identifiers are device dependent.

IOCTL_DISK_GETINFO

Retrieves information about the block device.

IOCTL_DISK_GETNAME

Retrieves the name that the file system drivers should use as the block device's folder.

IOCTL_DISK_READ

Reads data from the block device.

IOCTL_DISK_SETINFO

Sets information about the block device.

IOCTL_DISK_WRITE

Writes data to the block device.

See Also

Concepts

Block Driver Development Concepts
Block Driver Architecture
Block Driver Samples
Block Driver Registry Settings
Block Driver Manager
Block Device File Systems
File System Loading and Unloading
Block Driver Loading
Block Driver Installation
Block Driver Detection
Block Driver Access
Block Driver Power Cycle