Sdílet prostřednictvím


Používání vlastních oznámení PnP

Ovladač může použít mechanismus oznámení o změně cílového zařízení k oznámení o vlastních událostech na zařízení.

Programátor, který definuje vlastní událost, musí provést následující:

  1. Definujte nový identifikátor GUID pro vlastní událost.

    Vygenerujte identifikátor GUID pomocí Uuidgen nebo guidgen (které jsou součástí sady Microsoft Windows SDK). Publikujte identifikátor GUID v příslušném souboru hlaviček a dokumentaci.

  2. Napište kód pro aktivaci vlastní události.

    V režimu jádra ovladač volá IoReportTargetDeviceChange s vlastním identifikátorem GUID a ukazatelem na PDO pro zařízení. Vlastní události se dají aktivovat jenom v režimu jádra.

Autor ovladače používá vlastní upozornění s postupem, který je podobný následujícímu:

  1. Ovladač (nebo aplikace) zaregistruje oznámení o vlastní události.

    V režimu jádra ovladač volá IoRegisterPlugPlayNotification a zaregistruje EventCategoryTargetDeviceChange na zařízení.

    V uživatelském režimu se aplikace registruje pomocí RegisterDeviceNotification. Další informace najdete v sadě Windows SDK.

  2. Komponenta v režimu jádra aktivuje vlastní událost.

  3. Správce PnP volá rutiny oznámení zaregistrované v zařízení.

    Správce PnP volá registrované rutiny zpětného volání v režimu uživatele a potom volá rutiny zpětného volání v režimu jádra.

  4. Když je oznámení v uživatelském režimu dokončeno, rutiny zpětného volání ovladače režimu jádra reagují na přizpůsobenou událost.

    Viz pokyny pro psaní rutin zpětného volání oznámení PnP pro obecné pokyny pro rutiny zpětného volání oznámení. Kromě těchto pokynů nesmí vlastní rutina zpětného volání oznámení otevřít popisovač zařízení v rámci rutinního vlákna zpětného volání.