IOCTL_DISK_SET_CLUSTER_INFO控制代码

设置磁盘上的群集信息。

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

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

参数

hDevice

磁盘的句柄。

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

dwIoControlCode

操作的控制代码。

对此操作使用 IOCTL_DISK_SET_CLUSTER_INFO

lpInBuffer

指向包含磁盘群集信息的 DISK_CLUSTER_INFO 数据结构的指针。

nInBufferSize

输入缓冲区的大小(以字节为单位)。

lpOutBuffer

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

nOutBufferSize

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

lpBytesReturned

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

lpOverlapped

指向 OVERLAPPED 结构的指针。

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

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

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

返回值

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

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

要求

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

另请参阅

DeviceIoControl

磁盘管理控制代码

DISK_CLUSTER_INFO

IOCTL_DISK_GET_CLUSTER_INFO