共用方式為


SetupGetInfPublishedNameW 函式 (setupapi.h)

SetupGetInfPublishedName 函式會擷取系統 INF 檔案目錄中 INF 檔案的完整檔名(目錄路徑和檔名), 對應至驅動程式存放區中指定的 INF 檔案,或系統 INF 檔案目錄中的指定 INF 檔案。

語法

WINSETUPAPI BOOL SetupGetInfPublishedNameW(
  [in]            PCWSTR DriverStoreLocation,
  [out]           PWSTR  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

接收 ReturnBuffer 緩衝區大小之 DWORD 型別變數的指標。 這個參數是選擇性的,而且可以設定為 NULL

傳回值

如果 SetupGetInfPublishedName 成功,函式會 傳回 true;否則,函式會傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 getLastError

如果要求之 INF 檔案的完整檔名大小,包括 null 終止符的大小大於 returnBufferSize,則函式將會失敗,而且呼叫 getLastError 會傳回ERROR_INSUFFICIENT_BUFFER。

言論

若要判斷在系統 INF 目錄中包含指定 INF 檔案的完整檔名所需的傳回緩衝區大小,請呼叫 SetupGetInfPublishedName並將 returnBuffer 設定為 NULLReturnBufferSize 為零,並提供 requiredSizeRequiredSize 。 SetupGetInfPublishedName 會傳回 RequiredSize 中所需的緩衝區大小。

當裝置安裝預安裝驅動程式存放區中的 驅動程式套件 時,它會建立驅動程式套件 INF 檔案的兩個複本。 裝置安裝會將一個復本新增至系統 INF 目錄,並將該複本指派給 INF 檔案的唯一 已發佈檔名OEMnnn.inf。 裝置安裝會將 INF 檔案的第二個複本新增至驅動程式存放區,並指派複製原始 INF 檔名。

SetupGetInfPublishedName 會傳回系統 INF 檔案目錄中與 INF 檔案相符之 INF 檔案的完整檔名,如果有的話,DriverStoreLocation提供。 DriverStoreLocation 必須在驅動程式存放區中指定 INF 檔案的完整檔名,或必須指定系統 INF 目錄中 INF 檔案的檔名,以及選擇性的目錄路徑。 例如,假設驅動程式套件的 INF 檔案 myinf.inf,而針對此驅動程式套件,裝置安裝會在系統 INF 目錄中安裝 INF 檔案 OEM1.inf\Windows\inf。 進一步假設裝置安裝會安裝對應的 INF 檔案複本 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf 驅動程式存放區。 在此情況下,如果 DriverStoreLocation 提供下列其中一個字符串,則函式會傳回 C:\Windows\inf\inf\filerepository\myinf_12345678\myinf.inf,則函式會傳回 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.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

另請參閱

SetupGetInfDriverStoreLocation