Win32 API 日本語リファレンス
ホームStorage.VirtualDiskService › VDS_SAN_POLICY

VDS_SAN_POLICY

列挙型
基底型i4

メンバー 6

名前10進16進説明
VDS_SP_UNKNOWN00x0SAN ポリシーは不明です。
VDS_SP_ONLINE10x1新しく検出されたすべてのディスクがオンラインにされ、読み取り/書き込み可能になります。
VDS_SP_OFFLINE_SHARED20x2新しく検出されたディスクのうち、共有バス上に存在しないものがすべてオンラインにされ、読み取り/書き込み可能になります。
VDS_SP_OFFLINE30x3新しく検出されたすべてのディスクはオフラインかつ読み取り専用のままになります。
VDS_SP_OFFLINE_INTERNAL40x4
VDS_SP_MAX50x5

公式ドキュメント

[Windows 8 および Windows Server 2012 以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられています。]

有効なディスク SAN ポリシー フラグのセットを定義します。

解説(Remarks)

SAN ポリシーは、新しく検出されたディスクをオンラインにするかオフラインのままにするか、および読み取り/書き込み可能にするか読み取り専用のままにするかを決定します。ディスクがオフラインの場合、ディスク レイアウトを読み取ることはできますが、プラグ アンド プレイ (PnP) を通じてボリューム デバイスが公開されることはありません。つまり、そのディスク上でファイル システムをマウントすることはできません。ディスクがオンラインの場合は、そのディスクに対して 1 つ以上のボリューム デバイスがインストールされます。

現在の SAN ポリシーを照会するには、IVdsServiceSAN::GetSANPolicy メソッドを使用します。

SAN ポリシーを設定するには、IVdsServiceSAN::SetSANPolicy メソッドを使用します。

この列挙型は、次のレジストリ パスにある NoAutoMount レジストリ キーに代わるものです。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Mountmgr\NoAutoMount

このキーの値は REG_DWORD 値であり、Windows の自動マウント機能を有効にするには 0x00000000 を、無効にするには 0 以外の値を設定します。自動マウント機能が有効な場合、Windows は新しいベーシック ボリュームがシステムに追加されると、そのファイル システムを自動的にマウントし、ボリュームにドライブ文字を割り当てます。システム エリア ネットワーク構成では、自動マウントを無効にすることで、システムに追加された新しいベーシック ボリュームに対して Windows が自動的にマウントしたりドライブ文字を割り当てたりすることを防止できます。

Windows Server 2016 では、既定の SAN ポリシーは VDS_SP_OFFLINE_SHARED です。これは、Nano Server を含むすべてのエディションおよびインストール形式に適用されます。

Windows Server 2008 Enterprise および Windows Server 2008 Datacenter では、既定の SAN ポリシーは VDS_SP_OFFLINE_SHARED です。それ以外のすべての Windows Server 2008 エディションでは、既定の SAN ポリシーは VDS_SP_ONLINE です。

以前のバージョンの Windows からアップグレードする場合、アップグレード前に NoAutoMount レジストリ キーが設定されていたときは、アップグレードによってこのレジストリ キーがクリアされ、SAN ポリシーが VDS_SP_OFFLINE_SHARED に設定されます。(NoAutoMount レジストリ キーは、Windows Server 2008 Enterprise および Windows Server 2008 Datacenter では既定で設定されています。) アップグレード前に NoAutoMount レジストリ キーが設定されていなかった場合、アップグレードによって SAN ポリシーは VDS_SP_ONLINE に設定されます。さらに、アップグレードでは各ディスクを調べて、ディスク上のボリュームがオンラインかオフラインかを判定します。アップグレード前にディスクがオンラインで、かつオンラインのボリュームが 1 つ以上ある場合、アップグレードは SAN ポリシーやディスクが共有バス上に存在するかどうかにかかわらず、そのディスクとそのすべてのボリュームをオンラインにします。たとえば、オフラインのボリュームが 2 つとオンラインのボリュームが 1 つあるオンラインのディスクが共有バス上に存在し、アップグレード前に NoAutoMount レジストリ キーが設定されていたとします。アップグレード後、SAN ポリシーは VDS_SP_OFFLINE_SHARED になり、ディスクはオンラインにされ、3 つのボリュームすべてがオンラインになります。

Windows を新規インストールする場合、SAN ポリシーによって、Windows のインストール後にディスクがオンラインかオフラインかが決まります。

メモ 将来のバージョンの Windows では、VDS_SAN_POLICY 列挙型に定数が追加される可能性があります。このため、アプリケーションは認識できない VDS_SAN_POLICY 列挙型の定数を適切に処理できるように設計する必要があります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum VDS_SAN_POLICY : int {
    VDS_SP_UNKNOWN = 0,
    VDS_SP_ONLINE = 1,
    VDS_SP_OFFLINE_SHARED = 2,
    VDS_SP_OFFLINE = 3,
    VDS_SP_OFFLINE_INTERNAL = 4,
    VDS_SP_MAX = 5
} VDS_SAN_POLICY;
public enum VDS_SAN_POLICY : int
{
    VDS_SP_UNKNOWN = 0,
    VDS_SP_ONLINE = 1,
    VDS_SP_OFFLINE_SHARED = 2,
    VDS_SP_OFFLINE = 3,
    VDS_SP_OFFLINE_INTERNAL = 4,
    VDS_SP_MAX = 5,
}
Public Enum VDS_SAN_POLICY As Integer
    VDS_SP_UNKNOWN = 0
    VDS_SP_ONLINE = 1
    VDS_SP_OFFLINE_SHARED = 2
    VDS_SP_OFFLINE = 3
    VDS_SP_OFFLINE_INTERNAL = 4
    VDS_SP_MAX = 5
End Enum
import enum

class VDS_SAN_POLICY(enum.IntEnum):
    VDS_SP_UNKNOWN = 0
    VDS_SP_ONLINE = 1
    VDS_SP_OFFLINE_SHARED = 2
    VDS_SP_OFFLINE = 3
    VDS_SP_OFFLINE_INTERNAL = 4
    VDS_SP_MAX = 5
// VDS_SAN_POLICY
pub const VDS_SP_UNKNOWN: i32 = 0;
pub const VDS_SP_ONLINE: i32 = 1;
pub const VDS_SP_OFFLINE_SHARED: i32 = 2;
pub const VDS_SP_OFFLINE: i32 = 3;
pub const VDS_SP_OFFLINE_INTERNAL: i32 = 4;
pub const VDS_SP_MAX: i32 = 5;
// VDS_SAN_POLICY
const (
	VDS_SP_UNKNOWN int32 = 0
	VDS_SP_ONLINE int32 = 1
	VDS_SP_OFFLINE_SHARED int32 = 2
	VDS_SP_OFFLINE int32 = 3
	VDS_SP_OFFLINE_INTERNAL int32 = 4
	VDS_SP_MAX int32 = 5
)
const
  VDS_SP_UNKNOWN = 0;
  VDS_SP_ONLINE = 1;
  VDS_SP_OFFLINE_SHARED = 2;
  VDS_SP_OFFLINE = 3;
  VDS_SP_OFFLINE_INTERNAL = 4;
  VDS_SP_MAX = 5;
// VDS_SAN_POLICY
pub const VDS_SP_UNKNOWN: i32 = 0;
pub const VDS_SP_ONLINE: i32 = 1;
pub const VDS_SP_OFFLINE_SHARED: i32 = 2;
pub const VDS_SP_OFFLINE: i32 = 3;
pub const VDS_SP_OFFLINE_INTERNAL: i32 = 4;
pub const VDS_SP_MAX: i32 = 5;
const
  VDS_SP_UNKNOWN* = 0
  VDS_SP_ONLINE* = 1
  VDS_SP_OFFLINE_SHARED* = 2
  VDS_SP_OFFLINE* = 3
  VDS_SP_OFFLINE_INTERNAL* = 4
  VDS_SP_MAX* = 5
enum VDS_SAN_POLICY : int {
    VDS_SP_UNKNOWN = 0,
    VDS_SP_ONLINE = 1,
    VDS_SP_OFFLINE_SHARED = 2,
    VDS_SP_OFFLINE = 3,
    VDS_SP_OFFLINE_INTERNAL = 4,
    VDS_SP_MAX = 5,
}
#define global VDS_SP_UNKNOWN          0x0
#define global VDS_SP_ONLINE           0x1
#define global VDS_SP_OFFLINE_SHARED   0x2
#define global VDS_SP_OFFLINE          0x3
#define global VDS_SP_OFFLINE_INTERNAL 0x4
#define global VDS_SP_MAX              0x5