共用方式為


建立硬體通知客戶端驅動程式

本節提供一般指引,說明開發利用 Microsoft 提供的 KMDF 類別擴充功能的硬體通知用戶端驅動程式。

  1. 建立用戶端驅動程序實作的檔案,連結至 Mshwnclxstub.lib,並包含標頭 hwn.h 和 hwnclx.h。

  2. 定義必要 KMDF 和硬體通知類別延伸模組回呼函式的實例。 具體而言,您必須實作並註冊這些回呼函式,如下列範例程式代碼所示。

    DRIVER_INITIALIZE DriverEntry;
    EVT_WDF_DRIVER_DEVICE_ADD HwnClientEvtDeviceAdd;
    HWN_CLIENT_INITIALIZE_DEVICE HwnClientInitializeDevice;
    HWN_CLIENT_UNINITIALIZE_DEVICE HwnClientUnInitializeDevice;
    HWN_CLIENT_QUERY_DEVICE_INFORMATION HwnClientQueryDeviceInformation;
    HWN_CLIENT_START_DEVICE HwnClientStartDevice;
    HWN_CLIENT_STOP_DEVICE HwnClientStopDevice;
    HWN_CLIENT_SET_STATE HwnClientSetState;
    HWN_CLIENT_GET_STATE HwnClientGetState;
    
  3. 實作 DriverEntry 例程,這是用戶端驅動程式進入點,並負責初始化。 針對硬體通知用戶端驅動程式,此函式應該處理下列事項:

  4. 實作 EVT_WDF_DRIVER_DEVICE_ADD 函式,此函式負責在 PnP 管理員回報裝置是否存在時執行裝置初始化作業。 針對硬體通知用戶端驅動程式,此函式應該處理下列事項:

  5. 實作定義的 HWN_CLIENT_INITIALIZE_DEVICE 函式,此函式是由類別延伸模組呼叫,以準備硬體通知控制器以供使用。

  6. 實作定義的 HWN_CLIENT_UNINITIALIZE_DEVICE 函式,此函式是由類別延伸模組呼叫,以取消初始化硬體通知控制器。

  7. 實作定義 HWN_CLIENT_QUERY_DEVICE_INFORMATION 函式,此函式是由類別延伸模組呼叫。 此函式負責擷取硬體通知元件的屬性。

  8. 實作定義的 HWN_CLIENT_START_DEVICE 函式,此函式是由類別延伸模組呼叫。 此函式負責啟動硬體通知控制器,以及配置用戶端驅動程式的ACPI資源。

  9. 實作定義 HWN_CLIENT_STOP_DEVICE 函式,此函式是由類別延伸模組呼叫。 此函式負責停止硬體通知控制器,以及釋放用戶端驅動程式所使用的ACPI資源。

  10. 實作已定義的 HWN_CLIENT_SET_STATE,此HWN_CLIENT_SET_STATE由類別延伸模組呼叫。 此函式負責設定硬體通知元件狀態。

  11. 實作定義的 HWN_CLIENT_GET_STATE,這是由類別延伸模組所呼叫。 此函式負責取得硬體通知元件的目前值。 當輸入緩衝區為 NULL 時,表示使用者未指定特定的硬體通知狀態,此函式應該會傳回所有硬體通知元件的狀態資訊。

硬體通知