支援多個作業系統版本
驅動程式套件 通常支援許多版本的 Windows 作業系統。 在支援多個操作系統版本的一部分,驅動程式套件可能需要對不同版本的操作系統有不同的行為,才能使用新功能或符合新操作系統版本的新需求。 例如,驅動程式套件可能會想要在特定版本之後對操作系統有不同的行為,以符合 Windows 驅動程式的需求。 下列各節說明如何在驅動程式套件的 INF 檔案 和驅動程式套件中二進位檔的運行時間行為中有不同的行為。
INF 支援
INF 中 INF 模型區段的 TargetOSVersion 裝飾可讓 INF 作者針對不同版本的作業系統提供不同的安裝指示和設定。
如需詳細資訊,請參閱 將平臺延伸模組與操作系統版本 結合。
執行階段支援
嘗試改變運行時間的行為以支援多個作業系統版本時,建議您盡可能檢查功能或 API 可用性,而不是嘗試檢查程式代碼是否在特定作業系統版本或更新版本上執行。 例如,如果有一個 API 可供使用,您可以嘗試動態尋找它,而不是以靜態方式連結它。 如果您能夠找到它,您可以使用它,不過,如果它不存在於您目前的執行環境中,您可以回復到一些替代行為。
核心模式
如需如何從單一驅動程式支援多個 Windows 版本的詳細資訊,請參閱撰寫不同 Windows 版本的驅動程式。
使用者模式
在使用者模式中,您可以使用 LoadLibraryEx 和 GetProcAddress 來檢查您要使用的特定 API 是否可在目前執行環境中使用,並取得要用來呼叫該 API 的函式指標。 如需詳細資訊,請參閱 運行時間動態連結 和使用 運行時間動態連結 。