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
-
指向变量的指针,该变量接收存储在输出缓冲区中的数据的大小(以字节为单位)。
如果 lpOverlapped 为 NULL, 则 lpBytesReturned 不能为 NULL。 即使操作不返回任何输出数据且 lpOutBuffer 为 NULL, DeviceIoControl 也会使用 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 [仅限桌面应用] |
标头 |
|