共用方式為


NetDfsGetInfo 函式 (lmdfs.h)

擷取指定分散式檔案系統 (DFS) 根或 DFS 命名空間中的連結的相關資訊。

語法

NET_API_STATUS NET_API_FUNCTION NetDfsGetInfo(
  [in]           LPWSTR DfsEntryPath,
  [in, optional] LPWSTR ServerName,
  [in, optional] LPWSTR ShareName,
  [in]           DWORD  Level,
  [out]          LPBYTE *Buffer
);

參數

[in] DfsEntryPath

指定 DFS 根或連結之 UNC) 路徑 (通用命名慣例的字串指標。

對於連結,字串可以是兩種形式之一。 第一個表單如下所示:

\\ServerName\DfsName\link_path

其中 ServerName 是裝載獨立 DFS 命名空間之根目標伺服器的名稱; DfsName 是 DFS 命名空間的名稱;和 link_path 是 DFS 連結。

第二個表單如下所示:

\\DomainName\DomDfsname\link_path

其中 DomainName 是裝載網域型 DFS 命名空間的功能變數名稱; DomDfsname 是 DFS 命名空間的名稱;和 link_path 是 DFS 連結。

針對根目錄,字串可以是下列兩種形式之一:

\\ServerName\DfsName

\\DomainName\DomDfsname

其中名稱的值與先前所述的值相同。

此為必要參數。

[in, optional] ServerName

此參數目前會被忽略,而且應該是 Null

[in, optional] ShareName

此參數目前會被忽略,而且應該是 Null

[in] Level

指定要求的資訊層級。 此參數可以是下列其中一個值。

1

傳回 DFS 根或 DFS 連結名稱。 Buffer參數會指向DFS_INFO_1結構。

2

傳回 DFS 根或 DFS 連結名稱、狀態和 DFS 目標數目。 Buffer參數會指向DFS_INFO_2結構。

3

傳回 DFS 根或 DFS 連結名稱、狀態和目標資訊。 Buffer參數會指向DFS_INFO_3結構。

4

傳回 DFS 根或 DFS 連結名稱、狀態、GUID、逾時和目標資訊。 Buffer參數會指向DFS_INFO_4結構。

5

傳回 DFS 根目錄和根下所有連結的名稱、狀態、 GUID、逾時、屬性旗標、中繼資料大小和目標數目。 Buffer參數指向DFS_INFO_5結構的陣列。

6

傳回根或連結的名稱、狀態、 GUID、逾時、屬性旗標、中繼資料大小、DFS 目標資訊,以及 DFS 目標清單。 Buffer參數會指向DFS_INFO_6結構的陣列。

7

傳回 DFS 中繼資料的版本號碼 GUIDBuffer參數會指向DFS_INFO_7結構的陣列。

8

傳回名稱、狀態、 GUID、逾時、屬性旗標、中繼資料大小、目標數目,以及 DFS 根目錄的連結重新分析點安全性描述元,以及根目錄下的所有連結。 Buffer參數會指向DFS_INFO_8結構的陣列。

9

傳回名稱、狀態、 GUID、逾時、屬性旗標、中繼資料大小、DFS 目標資訊、連結重新分析點安全性描述元,以及根或連結的 DFS 目標清單。 Buffer參數會指向DFS_INFO_9結構的陣列。

50

傳回現有 DFS 命名空間的 DFS 中繼資料版本和功能。 Buffer參數會指向DFS_INFO_50結構。

100

傳回有關 DFS 根或 DFS 連結的批註。 Buffer參數會指向DFS_INFO_100結構。

150

傳回 DFS 連結重新分析點的安全性描述項。 Buffer參數會指向DFS_INFO_150結構。

注意 只有在 DFS 連結位於執行 Windows Server 2008 或更新版本的伺服器上時,才支援這個值。
 

[out] Buffer

接收所要求資訊結構的緩衝區位址指標。 此資料的格式取決於 Level 參數的值。 此緩衝區是由系統所配置,必須使用 NetApiBufferFree 函式釋放。 如需詳細資訊,請參閱 網路管理功能緩衝區網路管理函式緩衝區長度

傳回值

如果函式成功,傳回值會 NERR_Success

如果函式失敗,則傳回值是系統錯誤碼。 如需錯誤碼的清單,請參閱 系統錯誤碼

備註

使用 NetDfsGetInfo 函式不需要特殊群組成員資格。

呼叫 NetDfsGetInfo 函式的應用程式可能會間接造成本機 DFS 命名空間伺服器服務函式呼叫,以從該網域的 PDC 模擬器主機執行相關命名空間中繼資料的完整同步處理。 即使已針對該命名空間設定根延展性模式,也會發生此完整同步處理。 若要避免此副作用,如果意圖只是擷取特定 DFSN 用戶端電腦所使用之實體 UNC 路徑名稱,則其中一個替代方法是使用 WDK API ZwQueryInformationFile,傳遞 FileNetworkPhysicalNameInformation 做為 FileInformationClass 參數,並傳遞呼叫端配置 FILE_NETWORK_PHYSICAL_NAME_INFORMATION 結構的位址做為 FileInformation 參數。 如需呼叫 WDK API 的詳細資訊,請參閱 WDK。

範例

下列程式碼範例示範如何使用 NetDfsGetInfo 函式的呼叫來擷取 DFS 連結的相關資訊。 此範例會呼叫 NetDfsGetInfo,並指定資訊層級 3 (DFS_INFO_3) 。 如果呼叫成功,範例會列印 DFS 連結的相關資訊,包括連結所參考之每個目標的名稱和狀態。 最後,程式碼範例會釋放配置給資訊緩衝區的記憶體。

#include <windows.h>
#include <lm.h>
#include <lmdfs.h>
#include <stdio.h>
#pragma comment(lib, "Netapi32.lib")

void wmain(int argc, wchar_t *argv[ ])
{
   PDFS_INFO_3 pData;
   PDFS_STORAGE_INFO ps;
   DWORD er = 0, tr = 0, res, j;

   //
   // Check command line arguments.
   //
   if (argc<2)
      wprintf(L"Syntax: %s DfsEntryPath\n", argv[0]);
   else
   {
      //
      // Call the NetDfsGetInfo function, specifying level 3.
      //
      res = NetDfsGetInfo(argv[1], NULL, NULL, 3, (LPBYTE *) &pData);
      //
      // If the call succeeds, print the data.
      //
      if(res==0)
      {
         printf("%-30S Storages: %u\nComment: %S\n", pData->EntryPath, pData->NumberOfStorages, pData->Comment);
         ps = pData->Storage;
         //
         // Loop through each target.
         //
         for(j = 1; j <= pData->NumberOfStorages;j++)
         {
            //
            // Print the status (Offline/Online) and the name 
            // of each target referenced by the DFS link.
            //
            printf("    %S  ", (ps->State == DFS_STORAGE_STATE_OFFLINE) ? TEXT("Offline"): TEXT("Online "));
            printf("\\\\%S\\%S\n", ps->ServerName, ps->ShareName);
            ps++;
         }
         //
         // Free the allocated memory.
         //
         NetApiBufferFree(pData);
      }
      else
         printf("Error: %u\n", res);
   }
   return;
}

需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 lmdfs.h (包括 LmDfs.h、Lm.h)
程式庫 Netapi32.lib
Dll Netapi32.dll

另請參閱

DFS_INFO_1

DFS_INFO_100

DFS_INFO_2

DFS_INFO_3

DFS_INFO_4

DFS_INFO_5

DFS_INFO_6

DFS_INFO_7

分散式檔案系統 (DFS) 函式

NetDfsEnum

網路管理功能

網路管理概觀