共用方式為


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 句柄必須是磁碟區的句柄,才能直接存取。 若要擷取此句柄,請使用 lpFileName 參數,呼叫 createFile 設為下列格式的字串:

\\.\X

其中 X 是硬碟磁碟分區字母、軟碟磁碟驅動器或 CD-ROM 磁碟驅動器。 應用程式也必須在 createFile的 dwShareMode 參數中指定 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

磁碟區管理控制代碼