次の方法で共有


IOCTL_VOLUME_ONLINE IOCTL (winioctl.h)

ボリュームをオンラインにします。

Windows Server 2003 および Windows XP: このコントロール コードは、ダイナミック ディスクではサポートされていません。

この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。

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

注釈

ボリュームがオフラインの場合、すべての読み取り、書き込み、および IOCTL 要求が ERROR_NOT_READYで失敗します。 システムまたはブート ボリュームをオフラインにすることはできません。

ボリュームがオンラインの場合、ボリュームに送信されるすべての要求が受け入れられます。

オンラインのボリュームがマウント解除されると、ボリュームを開く次の呼び出しによってボリュームがマウントされます。 ボリュームをオフラインにすると、マウント解除されたボリュームが再びマウントされなくなります。

ボリュームをオフラインにするには、 IOCTL_VOLUME_OFFLINE コントロール コードを使用します。

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

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

要件

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

こちらもご覧ください