SetVolumeMountPointA 関数 (winbase.h)
ボリュームをドライブ文字または別のボリューム上のディレクトリに関連付けます。
構文
BOOL SetVolumeMountPointA(
[in] LPCSTR lpszVolumeMountPoint,
[in] LPCSTR lpszVolumeName
);
パラメーター
[in] lpszVolumeMountPoint
ボリュームに関連付けるユーザー モード パス。 ドライブ文字 ("X:\"など) または別のボリューム上のディレクトリ ("Y:\MountX" など) を指定できます。 文字列は末尾の円記号 ('') で終わる必要があります。
[in] lpszVolumeName
ボリュームのボリューム GUID パス。 この文字列は "\\?\Volume{GUID}" の形式である必要があります。 GUID はボリュームを識別する GUID です。 "\\?" はパスの解析をオフにし、「 ボリュームの名前付け」で説明されているように、パスの一部として無視されます。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
lpszVolumeMountPoint パラメーターにマウントされたフォルダーへのパスが含まれている場合、ディレクトリが空の場合でも、GetLastError はERROR_DIR_NOT_EMPTYを返します。
解説
この関数を使用してボリュームを別のボリューム上のディレクトリに関連付ける場合、関連付けられているディレクトリは マウントされたフォルダーと呼ばれます。
ボリュームを、その中にファイルまたはサブディレクトリがあるディレクトリに関連付けるのはエラーです。 このエラーは、システムおよび隠しディレクトリ、およびその他のディレクトリに対して発生し、システムファイルと隠しファイルに対して発生します。
マウントされたフォルダーがクラスター化されたディスク上のボリュームに作成されると、特定の状況で予期せず削除される可能性があります。 マウントされたフォルダーを作成して構成してこれが発生しないようにする方法については、「 クラスター ディスクとドライブ接続の問題」を参照してください。
IIn Windows 8 および Windows Server 2012 では、この関数は次のテクノロジでサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | いいえ |
SMB 3.0 Transparent Failover (TFO) | いいえ |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | いいえ |
クラスターの共有ボリューム ファイル システム (CsvFS) | いいえ |
Resilient File System (ReFS) | いいえ |
SMB では、ボリューム管理機能はサポートされていません。 CsvFS の場合、新しいマウント ポイントはクラスター上の他のノードにはレプリケートされません。
例
例については、「 マウントされたフォルダーの作成」を参照してください。
注意
winbase.h ヘッダーは、SetVolumeMountPoint をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |