共用方式為


GetDeviceDriverFileNameA 函式 (psapi.h)

擷取指定裝置驅動程式可用的路徑。

語法

DWORD GetDeviceDriverFileNameA(
  [in]  LPVOID ImageBase,
  [out] LPSTR  lpFilename,
  [in]  DWORD  nSize
);

參數

[in] ImageBase

設備驅動器的載入位址。

[out] lpFilename

接收設備驅動器路徑之緩衝區的指標。

[in] nSize

lpFilename 緩衝區的大小,以字元為單位。 如果緩衝區不夠大,無法儲存路徑加上終止的 Null 字元,則會截斷字串。

傳回值

如果函式成功,傳回值會指定複製到緩衝區的字串長度,不包括任何終止的 Null 字元。

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

言論

從 Windows 7 和 Windows Server 2008 R2 開始,Psapi.h 會建立 PSAPI 函式的版本號碼。 PSAPI 版本號碼會影響用來呼叫函式的名稱,以及程式必須載入的連結庫。

如果PSAPI_VERSION為 2 或更新版本,此函式會在 Psapi.h 中定義為 K32GetDeviceDriverFileName,並在 Kernel32.lib 和 Kernel32.dll中導出。 如果PSAPI_VERSION為 1,此函式會在 Psapi.h 中定義為 GetDeviceDriverFileName,並在 Psapi.lib 中匯出,Psapi.dll 為呼叫 K32GetDeviceDriverFileName的包裝函式。

必須在舊版 Windows 和 Windows 7 和更新版本上執行的程式,應該一律將此函式呼叫為 GetDeviceDriverFileName。 若要確保符號的正確解析度,請將 Psapi.lib 新增至 TARGETLIBS 巨集,並使用 –DPSAPI_VERSION=1 編譯程式。 若要使用執行時間動態連結,請載入 Psapi.dll。

注意

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

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 psapi.h
連結庫 Windows 7 和 Windows Server 2008 R2 上的 Kernel32.lib;Psapi.lib (if PSAPI_VERSION=1) on Windows 7 和 Windows Server 2008 R2;Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Psapi.lib
DLL Kernel32.dll Windows 7 和 Windows Server 2008 R2;Psapi.dll Windows 7 和 Windows Server 2008 R2 上的 PSAPI_VERSION=1;Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Psapi.dll

另請參閱

設備驅動器資訊

EnumDeviceDrivers

PSAPI 函式