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 コントロール コードを使用します。

DeviceIoControl に渡される hDevice ハンドルは、直接アクセス用に開かれたボリュームへのハンドルである必要があります。 このハンドルを取得するには、 lpFileName パラメーターを次の形式の文字列に設定して CreateFile を呼び出します。

\.\X:

X は、ハード ドライブパーティション文字、フロッピーディスクドライブ、または CD-ROM ドライブです。 アプリケーションでは、CreateFiledwShareMode パラメーターにFILE_SHARE_READフラグとFILE_SHARE_WRITE フラグも指定する必要があります。

IIn Windows 8とWindows Server 2012、このコードは次のテクノロジでサポートされています。

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル いいえ
SMB 3.0 Transparent Failover (TFO) いいえ
スケールアウト ファイル共有 (SO) を使う SMB 3.0 いいえ
クラスターの共有ボリューム ファイル システム (CsvFS) コメントを表示する
 

PNP 通知は、FSCTL が発行されたノードでのみ発行されます。

CSV ボリュームのロックを取得した後、ボリュームへのハンドルを開く前に、そのボリュームをロックするために使用するハンドルを閉じる必要があります。 FSCTL_UNLOCK_VOLUMEを使用してボリュームのロックを解除するだけでは十分ではありません。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

CreateFile

DeviceIoControl

FSCTL_LOCK_VOLUME

ボリューム管理の制御コード