DFS_INFO_2 構造体 (lmdfs.h)
分散ファイル システム (DFS) のルートまたはリンクに関する情報が含まれます。 この構造体には、ルートまたはリンクの DFS ターゲットの名前、状態、および数が含まれます。 この構造体は、 NetDfsEnum、 NetDfsGetClientInfo、 NetDfsGetInfo 関数、 およびFSCTL_DFS_GET_PKT_ENTRY_STATE コントロール コードでのみ使用されます。
構文
typedef struct _DFS_INFO_2 {
LPWSTR EntryPath;
LPWSTR Comment;
DWORD State;
DWORD NumberOfStorages;
} DFS_INFO_2, *PDFS_INFO_2, *LPDFS_INFO_2;
メンバー
EntryPath
DFS ルートまたはリンクの汎用名前付け規則 (UNC) パスを指定する null で終わる Unicode 文字列へのポインター。
リンクの場合、文字列は 2 つの形式のいずれかで指定できます。 最初の形式は次のとおりです。
\\Servername\DfsName\link_path
ここで 、ServerName はスタンドアロン DFS 名前空間をホストするルート ターゲット サーバーの名前です。 DfsName は DFS 名前空間の名前です。と link_path は DFS リンクです。
2 番目の形式は次のとおりです。
\\Domainname\DomDfsname\link_path
ここで 、DomainName はドメイン ベースの DFS 名前空間をホストするドメインの名前です。 DomDfsname は DFS 名前空間の名前です。と link_path は DFS リンクです。
ルートの場合、文字列は次の 2 つの形式のいずれかで指定できます。
\\Servername\DfsName
or
\\Domainname\DomDfsname
ここで、名前の値は前に説明したものと同じです。
Comment
DFS ルートまたはリンクに関連付けられたコメントを含む null で終わる Unicode 文字列へのポインター。
State
DFS ルートまたはリンクを記述するビット フラグのセットを指定します。 1 つの DFS_VOLUME_STATE フラグが設定され、1 つの DFS_VOLUME_FLAVOR フラグが設定されます。 DFS_VOLUME_FLAVORS ビットマスク (0x00000300) を使用して DFS 名前空間のフレーバーを抽出し、DFS_VOLUME_STATESビットマスク (0x0000000F) を使用して、このメンバーから DFS ルートまたはリンクの状態を抽出する必要があります。 フラグの解釈について説明する例については、次の「解説」セクションを参照してください。
DFS_VOLUME_STATE_OK (0x00000001)
指定した DFS ルートまたはリンクが通常の状態です。
DFS_VOLUME_STATE_INCONSISTENT (0x00000002)
内部 DFS データベースは、指定された DFS ルートまたはリンクと矛盾しています。 不整合を修復しようとしましたが、失敗しました。
DFS_VOLUME_STATE_OFFLINE (0x00000003)
指定された DFS ルートまたはリンクがオフラインであるか、使用できません。
DFS_VOLUME_STATE_ONLINE (0x00000004)
指定した DFS ルートまたはリンクを使用できます。
DFS_VOLUME_FLAVOR_STANDALONE (0x00000100)
ルートがスタンドアロン DFS 名前空間に関連付けられている場合、システムはこのフラグを設定します。
DFS_VOLUME_FLAVOR_AD_BLOB (0x00000200)
ルートがドメイン ベースの DFS 名前空間に関連付けられている場合、システムはこのフラグを設定します。
NumberOfStorages
DFS ターゲットの数を指定します。
解説
DFS 関数は 、DFS_INFO_2 構造体を使用して、DFS ルートまたはリンクに関する情報を取得します。
State メンバーで返すことができるフラグの解釈を説明する例を次に示します。
FlavorBits = (Flags & DFS_VOLUME_FLAVORS)
If (FlavorBits == DFS_VOLUME_FLAVOR_STANDALONE) // namespace is stand-alone DFS
else if (FlavorBits == DFS_VOLUME_FLAVOR_AD_BLOB) // namespace is AD blob
else // unknown flavor
StateBits = (Flags & DFS_VOLUME_STATES)
// StateBits can be one of the following:
// (DFS_VOLUME_STATE_OK, DFS_VOLUME_STATE_INCONSISTENT,
// DFS_VOLUME_STATE_OFFLINE or DFS_VOLUME_STATE_ONLINE)
要件
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
Header | lmdfs.h (LmDfs.h、Lm.h を含む) |