IOCTL_DISK_ARE_VOLUMES_READY控制代码

等待指定磁盘上的所有卷可供使用。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。

BOOL 
WINAPI 
DeviceIoControl( (HANDLE)       hDevice,         // handle to device 
                 IOCTL_DISK_ARE_VOLUMES_READY,   // dwIoControlCode
                 (LPVOID)       NULL,            // lpInBuffer 
                 (DWORD)        0,               // nInBufferSize 
                 (LPVOID)       NULL,            // lpOutBuffer 
                 (DWORD)        0,               // nOutBufferSize
                 (LPDWORD)      lpBytesReturned, // number of bytes returned
                 (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure

参数

hDevice

磁盘的句柄。

若要检索设备句柄,请调用 CreateFile 函数。

dwIoControlCode

操作的控制代码。

对此操作使用 IOCTL_DISK_ARE_VOLUMES_READY

lpInBuffer

不与此操作一起使用。 设置为 NULL

nInBufferSize

输入缓冲区的大小(以字节为单位)。 将 设置为 0 (零) 。

lpOutBuffer

不与此操作一起使用。 设置为 NULL

nOutBufferSize

不与此操作一起使用。 将 设置为 0 (零) 。

lpBytesReturned

不与此操作一起使用。 设置为 NULL

lpOverlapped

指向 OVERLAPPED 结构的指针。

如果在未指定FILE_FLAG_OVERLAPPED的情况下打开 hDevice,则忽略 lpOverlapped

如果使用 FILE_FLAG_OVERLAPPED 标志打开 hDevice,则操作将作为重叠 (异步) 操作执行。 在这种情况下, lpOverlapped 必须指向包含事件对象的句柄的有效 OVERLAPPED 结构。 否则,函数会以不可预知的方式失败。

对于重叠操作, DeviceIoControl 会立即返回,并在操作完成时向事件对象发出信号。 否则,在操作完成或发生错误之前,函数不会返回 。

返回值

如果操作成功完成,指示磁盘上的所有卷都已可供使用, DeviceIoControl 将返回非零值。

如果操作失败或挂起, DeviceIoControl 返回零。 要获得更多的错误信息,请调用 GetLastError

要求

要求
最低受支持的客户端
Windows 8 [仅限桌面应用]
最低受支持的服务器
Windows Server 2012 [仅限桌面应用]
标头
Ntdddisk.h

另请参阅

DeviceIoControl

磁盘管理控制代码