次の方法で共有


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 ドライブです。 アプリケーションでは、CreateFileの dwShareMode パラメーターに FILE_SHARE_READ フラグと FILE_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

ボリューム管理コントロール コード を する