NetDfsMove 函式 (lmdfs.h)
重新命名或移動 DFS 連結。
語法
NET_API_STATUS NET_API_FUNCTION NetDfsMove(
[in] LPWSTR OldDfsEntryPath,
[in] LPWSTR NewDfsEntryPath,
[in] ULONG Flags
);
參數
[in] OldDfsEntryPath
字串的指標,指定移動作業的來源路徑。 此值必須是 DFS 連結或 DFS 命名空間中任何 DFS 連結的路徑前置詞。
[in] NewDfsEntryPath
指定移動作業目的地路徑之字串的指標。 此值必須是相同 DFS 命名空間中的路徑或 DFS 連結。
[in] Flags
一組旗標,描述手機連結時要採取的動作。
DFS_MOVE_FLAG_REPLACE_IF_EXISTS (0x00000001)
如果目的地路徑已經是現有的 DFS 連結,請將它取代為移動作業的一部分。
傳回值
如果函式成功,傳回值會 NERR_Success。
如果函式失敗,則傳回值是系統錯誤碼。 如需錯誤碼的清單,請參閱 系統錯誤碼。
備註
NetDfsMove函式可方便將連結從舊名稱移至新的名稱。 在過去,必須執行刪除不正確或舊連結的非簡單動作,並建立新的連結,當連結具有大量目標或每個目標屬性時, (例如優先順序) 集時,這會變得麻煩。 系統管理員通常也會定期重新命名或手機連結。
提供給 NetDfsMove 的 DFS 路徑可以是實際的 DFS 連結,或只是 DFS 連結路徑前置詞。 不允許萬用字元,而且只能指定絕對路徑。 相對路徑和特殊路徑名稱語法 (,例如 「.」 或 「.」。不允許 ) 。
指定 DFS 連結路徑前置詞而不是完整的 DFS 路徑時,移動作業會在包含該前置詞的所有 DFS 連結上執行。 因此, 對 NetDfsMove 的單一呼叫可以「移動」多個連結。 不過,路徑前置詞必須解析為至少一個有效的 DFS 連結,否則移動作業將會失敗。
下列範例示範不同的移動作業和結果。
-
- 舊路徑:\\MyDfsServer\MyDfsShare\dir1\dir2\link1
- 新路徑:\\MyDfsServer\MyDfsShare\dir1\dir2\link2
-
- 舊路徑:\\MyDfsServer\MyDfsShare\dir1\dir2\link1
- 新路徑:\\MyDfsServer\MyDfsShare\dir3\dir4\dir5\link2
-
- 舊路徑:\\MyDfsServer\MyDfsShare\dir1
- 新路徑:\\MyDfsServer\MyDfsShare\dir3
-
- 舊路徑:\\MyDfsServer\MyDfsShare\dir1
- 新路徑:\\MyDfsServer\MyDfsShare
- 現有連結:\\MyDfsServer\MyDfsShare\dir1\link1、\\MyDfsServer\MyDfsShare\link3
- 舊路徑:\\MyDfsServer\MyDfsShare\dir1
- 新路徑:\\MyDfsServer\MyDfsShare\link3
使用網域型 DFS 伺服器時,移動作業是不可部分完成的;也就是說,會執行整個作業或失敗。 不過,使用獨立 DFS 伺服器時,移動作業不保證是不可部分完成的。 在此情況下,失敗可能會導致部分完成的移動作業,而且會代表呼叫的應用程式進行清除。
移動作業成功時,保證已成功修改 DFS 中繼資料。 這不保證已在根目標上實際建立 DFS 連結,或可以在根目標儲存體上建立 DFS 連結。
需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008、Windows Server 2008 |
目標平台 | Windows |
標頭 | lmdfs.h (包括 LmDfs.h、Lm.h) |
程式庫 | Netapi32.lib |
Dll | Netapi32.dll |