Sdílet prostřednictvím


Registrace ke sledování změn rozhraní zařízení

Ovladač se zaregistruje k oznámení o událostech připojení a odpojení rozhraní zařízení voláním IoRegisterPlugPlayNotification.

Následující informace platí pro volání této rutiny pro oznámení o změně rozhraní zařízení:

  • Zadejte EventCategory jako EventCategoryDeviceInterfaceChange.

  • EventCategoryData musí odkazovat na identifikátor GUID třídy rozhraní zařízení.

    Identifikátor GUID třídy rozhraní je obvykle definován v souboru hlavičky se strukturami, konstantami a tak dále, pro rozhraní.

  • Zadejte EventCategoryFlags PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES.

    Tento příznak nasměruje správce PnP, aby zaregistroval CallbackRoutine pro budoucí příchody a odlety rozhraní zařízení zadané třídy a okamžitě volal CallbackRoutine pro všechna příslušná rozhraní zařízení, která jsou již aktivní.

    Ovladač může volat IoGetDeviceInterfaces , aby získal seznam existujících rozhraní konkrétní třídy a pak zaregistruje svou rutinu zpětného volání bez tohoto příznaku, ale použití příznaku je jednodušší a zabraňuje potenciálnímu problému s časováním.

  • V případě potřeby zadejte kontext definovaný ovladačem, který správce PnP předá rutině zpětného volání.

Ovladač, který otevře popisovač zařízení v reakci na oznámení o příchodu rozhraní zařízení, by se měl zaregistrovat k událostem EventCategoryTargetDeviceChange u daného zařízení. (Viz Použití oznámení o změně cílového zařízení PnP.)

Ovladač zruší registraci oznámení tím, že zavolá IoUnregisterPlugPlayNotification a použije NotificationEntry vrácený funkcí IoRegisterPlugPlayNotification.