设备控制代码

【勇芳软件工作室】汉化HomePreviousNext

应用程序可以使用DeviceIoControl函数将控制代码发送到设备驱动程序。控制代码指定驱动程序执行的操作。例如,控制代码可以要求设备驱动程序返回有关相应设备的信息,或者指示驱动程序在设备上执行操作,例如格式化磁盘。

在Win32头文件中定义了一些标准控制代码。有关标准控制代码的列表,请参阅DeviceIoControl.此外,设备驱动程序可以定义自己的特定于设备的控制代码。您可以指定的控制代码类型取决于正在访问的设备和运行应用程序的Win32平台。

在Windows NT上运行的应用程序可以使用标准控制代码或特定于设备的控制代码在软盘驱动器,硬盘驱动器,磁带驱动器或CD-ROM驱动器上执行直接输入和输出操作。

在Windows 95上运行的基于Win32的应用程序无法使用Win32头文件中的标准控制代码。这些应用程序仅限于使用正在访问的虚拟设备驱动程序支持的控制代码。例如,系统VxD VWIN32.VXD支持最初由MS-DOS中断21h提供的输入和输出控制(IOCTL)功能。

DeviceIoControl调用中指定的控制代码确定必须为其他DeviceIoControl参数指定的值。例如,Windows NT应用程序可以指定IOCTL_DISK_FORMAT_TRACKS控制代码。在这种情况下,【lpvInBuffer】参数必须指向一个已填写的FORMAT_PARAMETERS结构,而【cbInBuffer】参数必须指定结构的大小。