共用方式為


SetupGetInfInformationA 函式 (setupapi.h)

[此函式可用於需求一節中所述的操作系統。 它在後續版本中可能會變更或無法使用。 安裝程式API不應再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備驅動器。]

SetUpGetInfInformation 函式會將指定 INF 檔案的 SP_INF_INFORMATION 結構傳回緩衝區。

語法

WINSETUPAPI BOOL SetupGetInfInformationA(
  [in]      LPCVOID             InfSpec,
  [in]      DWORD               SearchControl,
  [in, out] PSP_INF_INFORMATION ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

參數

[in] InfSpec

根據 SearchControl 的值,處理或 INF 檔案的檔名。

[in] SearchControl

此參數可以是下列其中一個常數。

INFINFO_INF_SPEC_IS_HINF

InfSpec 是 INF 句柄。 如果一起附加多個 INF 檔案,單一 INF 句柄可能會參考多個 INF 檔案。 如果這樣做,此函式所傳回的結構會包含多個資訊集。

INFINFO_INF_NAME_IS_ABSOLUTE

針對 InfSpec 指定的字串是完整路徑。 InfSpec 上不會執行進一步的處理。

搜尋針對 InfSpec 指定的 INF 檔案預設位置,這假設為僅限檔名。 默認位置為 %windir%\inf,後面接著 %windir%\system32

與INFINFO_DEFAULT_SEARCH相同,但預設位置會以反向順序搜尋。

DevicePath 值專案下的每個目錄中搜尋 INF:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

[in, out] ReturnBuffer

如果不是 NULL,則指向這個函式傳回 SP_INF_INFORMATION 結構的緩衝區。

您可以呼叫函式一次以取得所需的緩衝區大小、配置必要的記憶體,然後第二次呼叫函式以擷取數據。 使用這項技術,您可以避免因為緩衝區大小不足而發生錯誤。 如需詳細資訊,請參閱本主題的一節。

[in] ReturnBufferSize

ReturnBuffer 的大小,以位元組為單位。

[in, out] RequiredSize

如果不是 NULL,則指向此函式傳回 ReturnBuffer 所指向之緩衝區所需的大小,以位元組為單位。

如果指定 ReturnBuffer 且所需的大小大於 ReturnBufferSize,則函式會失敗,而且 GetLastError 的呼叫會傳回ERROR_INSUFFICIENT_BUFFER。

傳回值

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

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

如果找不到 INF 檔案,函式會傳回 FALSE ,而 對 GetLastError 的後續呼叫會傳回ERROR_FILE_NOT_FOUND。

備註

如果使用 NULL 的 ReturnBuffer 呼叫此函式,而 ReturnBufferSize 為 0 (零) ,則函式會將保留指定數據的緩衝區大小放入 RequiredSize 所指向的變數。 如果函式成功,則傳回值是非零值。 否則,傳回值為 0 (零) ,而呼叫 GetLastError 即可取得擴充錯誤資訊。

注意

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

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 setupapi.h
程式庫 Setupapi.lib
Dll Setupapi.dll

請參閱

函式

概觀

SetupQueryInfFileInformation

SetupQueryInfVersionInformation