FSCTL_UNLOCK_VOLUME IOCTL (winioctl.h)

解锁卷。

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

BOOL DeviceIoControl(
  (HANDLE) hDevice,            // handle to a volume
  FSCTL_UNLOCK_VOLUME,         // dwIoControlCode
  NULL,                        // lpInBuffer
  0,                           // nInBufferSize
  NULL,                        // lpOutBuffer
  0,                           // nOutBufferSize
  (LPDWORD) lpBytesReturned,   // number of bytes returned
  (LPOVERLAPPED) lpOverlapped  // OVERLAPPED structure
);

Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。

否则,状态为相应的错误条件作为 NTSTATUS 代码。

有关详细信息,请参阅 NTSTATUS 值

言论

若要锁定卷,请使用 FSCTL_LOCK_VOLUME 控制代码。

传递给 DeviceIoControlhDevice 句柄必须是卷的句柄,才能直接访问。 若要检索此句柄,请调用 CreateFile,并将 lpFileName 参数设置为以下形式的字符串:

\\.\X

其中,X 是硬盘驱动器分区号、软盘驱动器或 CD-ROM 驱动器。 应用程序还必须在 CreateFiledwShareMode 参数中指定 FILE_SHARE_READFILE_SHARE_WRITE 标志。

IIn Windows 8 和 Windows Server 2012,以下技术支持此代码。

科技 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CsvFS) 请参阅批注
 

PNP 通知仅在发出 FSCTL 的节点上发出。

获取 CSV 卷上的锁后,必须先关闭用于锁定该卷的句柄,然后才能打开卷的句柄。 使用 FSCTL_UNLOCK_VOLUME 解锁卷是不够的。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅

CreateFile

DeviceIoControl

FSCTL_LOCK_VOLUME

卷管理控制代码