SetupGetInfPublishedNameA 函式 (setupapi.h)
SetupGetInfPublishedName 函式會擷取系統 INF 檔案目錄中對應至驅動程式存放區中指定 INF 檔案或系統 INF 檔案目錄中指定 INF 檔案之 INF 檔案的完整檔名 (目錄路徑和) 檔名。
語法
WINSETUPAPI BOOL SetupGetInfPublishedNameA(
[in] PCSTR DriverStoreLocation,
[out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
參數
[in] DriverStoreLocation
NULL 終止字串的指標,其中包含驅動程式存放區中 INF 檔案的完整檔名 (目錄路徑和檔名) 。 或者,此參數是 NULL 終止字串的指標,其中包含系統 INF 檔案目錄中 INF 檔案的名稱和選擇性的完整目錄路徑。 如需如何指定 INF 檔案的詳細資訊,請參閱下列一節。
[out] ReturnBuffer
SetupGetInfPublishedName 的緩衝區指標會傳回 NULL 終止字串,其中包含系統 INF 目錄中指定 INF 檔案的完整檔名。 路徑大小上限為 MAX_PATH。 此指標可以設定為 NULL。 如需如何判斷傳回緩衝區所需大小的資訊,請參閱下列一節。
[in] ReturnBufferSize
ReturnBuffer 所提供的緩衝區大小,以字元為單位。
[out, optional] RequiredSize
DWORD 型別變數的指標,可接收 ReturnBuffer 緩衝區的大小,以字元為單位。 此參數是選擇性的,而且可以設定為 NULL。
傳回值
如果 SetupGetInfPublishedName 成功,函式會傳回 TRUE;否則,函式會傳回 FALSE。 若要取得擴充錯誤資訊,請呼叫 GetLastError。
如果要求 INF 檔案的完整檔名大小,以字元為單位,包括 null 終止符大於 ReturnBufferSize,則函式將會失敗,而 GetLastError 的呼叫將會傳回ERROR_INSUFFICIENT_BUFFER。
備註
若要判斷在系統 INF 目錄中包含指定 INF 檔案的完整檔名所需的傳回緩衝區大小,請呼叫 SetupGetInfPublishedName 並將 ReturnBuffer 設定為 NULL、 ReturnBufferSize 為零,並提供 RequiredSize。 SetupGetInfPublishedName 會傳回 RequiredSize 中所需的緩衝區大小。
當裝置安裝預安裝 驅動程式套件在驅動程式 存放區時,它會建立驅動程式套件 INF 檔案的兩個複本。 裝置安裝會將一個複本新增至系統 INF 目錄,並將該 INF 檔案複本指派為 OEMnnn.inf 格式的唯一已發佈檔名。 裝置安裝會將 INF 檔案的第二個複本新增至驅動程式存放區,並指派複製原始 INF 檔名。
SetupGetInfPublishedName 會傳回系統 INF 檔案目錄中與 DriverStoreLocation 提供之 INF 檔案相符之 INF 檔案的完整檔名。 DriverStoreLocation 必須在驅動程式存放區中指定 INF 檔案的完整檔名,或者必須指定系統 INF 目錄中 INF 檔案的檔名,以及選擇性的目錄路徑。 例如,假設驅動程式套件的 INF 檔案是 myinf.inf,而且對於此驅動程式套件,裝置安裝會在系統 INF 目錄 C:\Windows\inf 中安裝 INF 檔案 OEM1.inf。 進一步假設裝置安裝會在驅動程式存放區中安裝對應的 INF 檔案複製 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf 。 在此情況下,如果 DriverStoreLocation 提供下列其中一個字符串:C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf、OEM1.inf 或 C:\Windows\inf\oem1.inf,則函式會傳回 C:\Windows\inf\OEM1.inf。
呼叫 SetupGetInfDriverStoreLocation 函式,以擷取驅動程式存放區中 INF 檔案的完整檔名,該檔案對應至系統 INF 檔案目錄中的指定 INF 檔案,或在驅動程式存放區中擷取指定的檔案。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupGetInfPublishedName 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |