IOCTL_VOLUME_IS_CSV控制代码

确定卷是否为 CSV 卷。

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

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

参数

hDevice

卷的句柄。 若要检索卷句柄,请调用 CreateFile 函数。 只有管理员才能打开卷句柄。

dwIoControlCode

操作的控制代码。 对此操作使用 IOCTL_VOLUME_IS_CSV

lpInBuffer

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

nInBufferSize

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

lpOutBuffer

如果卷是 CSV 卷,则为指向 TRUE 的指针;否则,函数调用将失败。

nOutBufferSize

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

lpBytesReturned

指向变量的指针,该变量接收存储在输出缓冲区中的数据的大小(以字节为单位)。

如果 lpOverlappedNULL则 lpBytesReturned 不能为 NULL。 即使操作不返回任何输出数据且 lpOutBufferNULLDeviceIoControl 也会使用 lpBytesReturned。 执行此类操作后, lpBytesReturned 的值毫无意义。

如果 lpOverlapped 不为 NULL则 lpBytesReturned 可以为 NULL。 如果此参数不为 NULL 且操作返回数据,则 lpBytesReturned 在重叠操作完成之前毫无意义。 若要检索返回的字节数,请调用 GetOverlappedResult。 如果 hDevice 与 I/O 完成端口相关联,则可以通过调用 GetQueuedCompletionStatus 检索返回的字节数。

lpOverlapped

指向 OVERLAPPED 结构的指针。

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

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

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

返回值

如果操作成功完成, DeviceIoControl 将返回非零值。

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

要求

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

另请参阅

CreateFile

DeviceIoControl

卷管理控制代码