共用方式為


DefineDosDeviceA 函式 (winbase.h)

定義、重新定義或刪除 MS-DOS 裝置名稱。

語法

BOOL DefineDosDeviceA(
  [in]           DWORD  dwFlags,
  [in]           LPCSTR lpDeviceName,
  [in, optional] LPCSTR lpTargetPath
);

參數

[in] dwFlags

DefineDosDevice 函式的可控制層面。 此參數可以是下列一或多個值。

意義
DDD_EXACT_MATCH_ON_REMOVE
0x00000004
如果指定這個值以及 DDD_REMOVE_DEFINITION,函式會使用完全相符項目來判斷要移除的對應。 使用此值可確保您不會刪除未定義的專案。
DDD_NO_BROADCAST_SYSTEM
0x00000008
請勿廣播 WM_SETTINGCHANGE 訊息。 根據預設,此訊息會廣播,以通知殼層和應用程式變更。
DDD_RAW_TARGET_PATH
0x00000001
依原樣使用 lpTargetPath 字串。 否則,它會從 MS-DOS 路徑轉換成路徑。
DDD_REMOVE_DEFINITION
0x00000002
拿掉指定裝置的指定定義。 若要判斷要移除的定義,此函式會逐步引導裝置的對應清單,以針對與此裝置相關聯的每個對應前置詞尋找 lpTargetPath 的相符專案。 符合的第一個對應是移除的對應,然後函式會傳回 。

如果 lpTargetPathNULLNULL 字串的指標,函式將會移除與裝置相關聯的第一個對應,並快顯最近推送的對應。 如果沒有留下任何快顯專案,將會移除裝置名稱。

如果未指定此值, lpTargetPath 參數所指向的字串將會成為此裝置的新對應。

[in] lpDeviceName

MS-DOS 裝置名稱字串的指標,指定函式所定義、重新定義或刪除的裝置。 除非定義、重新定義或刪除驅動器號,否則裝置名稱字串不得具有冒號做為最後一個字元。 例如,磁碟驅動器 C 會是字串 「C:“。 在此情況下,不允許尾端反斜杠 (“”) 。

[in, optional] lpTargetPath

將實作此裝置之路徑字串的指標。 除非指定 DDD_RAW_TARGET_PATH 旗標,否則字串是 MS-DOS 路徑字串,在此情況下,此字串是路徑字串。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

MS-DOS 裝置名稱會儲存為物件命名空間中的連接點。 將 MS-DOS 路徑轉換成對應路徑的程式代碼會使用這些連接點來對應 MS-DOS 裝置和驅動器號。 DefineDosDevice 函式可讓應用程式修改用來實作 MS-DOS 裝置命名空間的連接點。

若要擷取特定 MS-DOS 裝置名稱的目前對應,或取得系統已知的所有 MS-DOS 裝置清單,請使用 QueryDosDevice 函式。

若要定義跨開機而非網路共用持續執行的驅動器號指派,請使用 SetVolumeMountPoint 函式。 如果要掛接的磁碟區已經有指派的驅動器號,請使用 DeleteVolumeMountPoint 函式來移除指派。

除非用戶是系統管理員,否則系統開機時間定義的驅動器號和裝置名稱會受到保護,免於重新定義和刪除。

從 Windows XP 開始,此函式會為未在其本機 MS-DOS 裝置命名空間的 “LocalSystem” 內容中執行的呼叫端建立裝置名稱。 如果呼叫端是在 「LocalSystem」 內容中執行,函式會在全域 MS-DOS 裝置命名空間中建立裝置名稱。 如需詳細資訊,請參閱定義 MS DOS 裝置名稱和檔名、路徑和命名空間

在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器消息塊 (SMB) 3.0 通訊協定 No
SMB 3.0 透明故障轉移 (TFO) No
具有向外延展檔案共用的SMB 3.0 (SO) No
叢集共用磁碟區文件系統 (CsvFS) No
彈性檔案系統 (ReFS) No
 

SMB 不支援磁碟區管理功能。 針對 CsvFs,新的名稱將不會復寫到叢集上的其他節點。

範例

如需範例,請參閱 編輯驅動器號指派

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

DeleteVolumeMountPoint

QueryDosDevice

SetVolumeMountPoint

磁碟區管理功能