共用方式為


支援多個作業系統版本

驅動程式套件 通常支援許多版本的 Windows 作業系統。 在支援多個操作系統版本的過程中,驅動程式套件可能需要在不同的操作系統版本上有不同的行為,才能使用新功能或符合新操作系統版本的新需求。 例如,驅動程式套件可能會想要在特定版本之後對操作系統有不同的行為,以符合 Windows 驅動程式的需求。 下列各節說明如何在驅動程式套件的 INF 檔案 和驅動程式套件的二進位檔運行時間行為中有不同的行為。

INF 支援

INF 中 INF 模型區段上的 TargetOSVersion 裝飾可讓 INF 作者針對不同版本的作業系統提供不同的安裝指示和設定。

如需詳細資訊,請參閱 結合平臺延伸模組與操作系統版本

執行階段支援

嘗試在運行時間改變行為以支援多個操作系統版本時,建議您盡可能檢查功能或 API 可用性,而不是嘗試檢查程式碼是否在特定作業系統版本或更新版本上執行。 例如,如果有您想要使用的 API,您可以嘗試動態尋找它,而不是以靜態方式連結它。 如果您能夠找到它,則可以使用它,不過,如果它不存在於您目前執行中的環境中,則可以切換回一些替代行為。

核心模式

如需如何從單一驅動程式支援多個 Windows 版本的詳細資訊,請參閱 撰寫不同 Windows 版本的驅動程式

使用者模式

在使用者模式中,您可以使用 LoadLibraryEx 搭配 GetProcAddress 來檢查您想要使用的特定 API 是否可在目前執行環境中使用,並取得函式指標以呼叫該 API。 如需詳細資訊 ,請參閱運行時間動態連結 和使用 運行時間動態連結