支援多個作業系統版本
驅動程式套件 通常支援許多版本的 Windows 作業系統。 在支援多個操作系統版本的過程中,驅動程式套件可能需要在不同的操作系統版本上有不同的行為,才能使用新功能或符合新操作系統版本的新需求。 例如,驅動程式套件可能會想要在特定版本之後對操作系統有不同的行為,以符合 Windows 驅動程式的需求。 下列各節說明如何在驅動程式套件的 INF 檔案 和驅動程式套件的二進位檔運行時間行為中有不同的行為。
INF 支援
INF 中 INF 模型區段上的 TargetOSVersion 裝飾可讓 INF 作者針對不同版本的作業系統提供不同的安裝指示和設定。
如需詳細資訊,請參閱 結合平臺延伸模組與操作系統版本 。
執行階段支援
嘗試在運行時間改變行為以支援多個操作系統版本時,建議您盡可能檢查功能或 API 可用性,而不是嘗試檢查程式碼是否在特定作業系統版本或更新版本上執行。 例如,如果有您想要使用的 API,您可以嘗試動態尋找它,而不是以靜態方式連結它。 如果您能夠找到它,則可以使用它,不過,如果它不存在於您目前執行中的環境中,則可以切換回一些替代行為。
核心模式
如需如何從單一驅動程式支援多個 Windows 版本的詳細資訊,請參閱 撰寫不同 Windows 版本的驅動程式 。
使用者模式
在使用者模式中,您可以使用 LoadLibraryEx 搭配 GetProcAddress 來檢查您想要使用的特定 API 是否可在目前執行環境中使用,並取得函式指標以呼叫該 API。 如需詳細資訊 ,請參閱運行時間動態連結 和使用 運行時間動態連結 。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應