SetupGetInfDriverStoreLocationW 函式 (setupapi.h)
SetupGetInfDriverStoreLocation 函式會擷取驅動程式存放區中 INF 檔案的完整檔名(目錄路徑和檔名),該檔案 對應至系統 INF 檔案目錄中的指定 INF 檔案,或驅動程式存放區中的指定 INF 檔案。
語法
WINSETUPAPI BOOL SetupGetInfDriverStoreLocationW(
[in] PCWSTR FileName,
[in, optional] PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
[in, optional] PCWSTR LocaleName,
[out] PWSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
參數
[in] FileName
NULL 終止字串的指標,其中包含系統 INF 檔案目錄中 INF 檔案的名稱,以及選擇性的完整目錄路徑。 或者,這個參數是NULL終止字串的指標,其中包含驅動程式存放區中 INF 檔案的完整檔名(目錄路徑和檔名)。
如需如何指定 INF 檔案的詳細資訊,請參閱下列 一節。
[in, optional] AlternatePlatformInfo
保留供系統使用。
[in, optional] LocaleName
保留供系統使用。
[out] ReturnBuffer
緩衝區的指標,函式會傳回 NULL 終止字串,其中包含指定 INF 檔案的完整檔名。 這個參數可以設定為 NULL。 支援的路徑大小上限為 MAX_PATH。 如需如何判斷緩衝區所需大小的資訊,請參閱下列 一節。
[in] ReturnBufferSize
returnBuffer 所提供之緩衝區的大小,以字元為單位。
[out, optional] RequiredSize
接收 ReturnBuffer 緩衝區大小之 DWORD 型別變數的指標。 這個參數是選擇性的,而且可以設定為 NULL。
傳回值
如果
如果要求之 INF 檔案的完整檔名大小,包括 null 終止符的大小大於 returnBufferSize
言論
若要判斷在驅動程式存放區中包含指定 INF 檔案的完整檔名所需的傳回緩衝區大小,請呼叫
當裝置安裝預安裝驅動程式存放區中的 驅動程式套件 時,它會建立驅動程式套件 INF 檔案的兩個複本。 裝置安裝會在系統 INF 目錄中安裝一個複本,並將該複本指派給 INF 檔案的唯一 已發佈檔名,OEMnnn.inf。 裝置安裝會在驅動程式存放區中安裝 INF 檔案的第二個複本,並指派該複本複製原始 INF 檔名。
SetupGetInfDriverStoreLocation 會傳回驅動程式存放區中與 INF 檔案相符之 INF 檔案的完整檔名,如果有的話,FileName提供。 檔名 必須指定系統 INF 目錄中 INF 檔案的檔案名,以及選擇性的目錄路徑。 或者,Filename 必須在驅動程式存放區中指定 INF 檔案的完整檔名。
例如,假設驅動程式套件的 INF 檔案是 Myinf.inf,而此驅動程式套件則為 。 裝置安裝會在系統 INF 目錄中安裝 INF 檔案 OEM1.inf:\Windows\inf。 進一步假設裝置安裝會安裝對應的 INF 檔案複本 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf 驅動程式存放區。 在此情況下,如果 FileName 提供下列其中一個字符串,函式會傳回 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf: OEM1 .inf、C:\Windows\inf\OEM1.inf或 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf。
類別安裝程式 和 共同安裝程式 可以使用 SetupGetInfDriverStoreLocation 來存取預安裝於驅動程式存放區 驅動程式套件 中的檔案。 若要判斷驅動程式存放區中驅動程式套件的路徑,安裝程式會執行下列動作:
- 呼叫 SetupDiGetDriverInfoDetail 來擷取驅動程式的 SP_DRVINFO_DETAIL_DATA 結構。 這個結構的 InfFileName 成員包含系統 INF 目錄中驅動程式 INF 檔案的完整檔名。
- 呼叫 SetupGetInfDriverStoreLocation,並提供 呼叫 setupDiGetDriverInfoDetail所擷取之驅動程式 INF 檔案的完整檔名。 SetupGetInfDriverStoreLocation 會傳回驅動程式存放區中驅動程式 INF 檔案的完整檔名。 INF 檔案完整檔名的目錄路徑部分是 驅動程式套件 檔案的路徑。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupGetInfDriverStoreLocation 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的 Windows。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |