共用方式為


CheckNameLegalDOS8Dot3W 函式 (winbase.h)

判斷指定的名稱是否可用來在 FAT 檔案系統上建立檔案。

語法

BOOL CheckNameLegalDOS8Dot3W(
  [in]            LPCWSTR lpName,
  [out, optional] LPSTR   lpOemName,
  [in]            DWORD   OemNameSize,
  [out, optional] PBOOL   pbNameContainsSpaces,
  [out]           PBOOL   pbNameLegal
);

參數

[in] lpName

檔名,格式為 8.3。

[out, optional] lpOemName

緩衝區的指標,接收對應至 Name的 OEM 字串。 此參數可以是 NULL

[in] OemNameSize

lpOemName 緩衝區的大小,以字元為單位。 如果 lpOemNameNULL,此參數必須是 0(零)。

[out, optional] pbNameContainsSpaces

指出名稱是否包含空格。 此參數可以是 NULL。 如果名稱不是有效的 8.3 FAT 檔案系統名稱,則此參數未定義。

[out] pbNameLegal

如果函式成功,此參數會指出當目前的 OEM 代碼頁套用至檔名時,檔名是否為有效的 8.3 FAT 檔名。

傳回值

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

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

言論

此函式可用來判斷檔名是否可以傳遞至16位 Windows 應用程式或 MS-DOS 型應用程式。

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

科技 支援
伺服器消息塊 (SMB) 3.0 通訊協定 是的
SMB 3.0 透明故障轉移 (TFO) 請參閱備註
具有向外延展檔案共用的SMB 3.0(SO) 請參閱備註
叢集共用磁碟區檔案系統 (CsvFS) 是的
復原檔案系統 (ReFS) 是的
 

請注意,SMB 3.0 不支援具有持續可用性功能的共用簡短名稱,因此函式一律會傳回零 (失敗)。

注意

winbase.h 標頭會根據 UNICODE 預處理器常數的定義,將 CheckNameLegalDOS8Dot3 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows Vista、Windows XP 與 SP1 [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winbase.h (包括 Windows.h)
連結庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

檔案管理功能

GetOEMCP