Delen via


Opsommingsaanvragen verwerken

De PnP-manager kan een buschauffeur vragen om zijn kinderen op elk gewenst moment op te sommen. (Als u bekend bent met WDM-interfaces, zijn opsommingsaanvragen IRP_MN_QUERY_DEVICE_RELATIONS met een relatietype BusRelations.) Frameworkstuurprogramma's zien deze aanvragen niet. In plaats daarvan verwerkt het framework de aanvragen door gebruik te maken van de informatie die is opgeslagen in de kindlijst van een apparaat. Het stuurprogramma is verantwoordelijk voor het up-to-date houden van de kinderlijst up-to-date, zodat het framework juiste informatie kan verstrekken wanneer de PnP-manager een opsomming aanvraagt.

Framework-gebaseerde busstuurprogramma's die dynamische inventarisatie ondersteunen, kunnen een verzoek ontvangen om een bepaald kindapparaat opnieuw te inventariseren. Een dergelijke aanvraag kan worden verzonden door het functiestuurprogramma van het kindapparaat nadat het stuurprogramma een apparaatfout heeft gedetecteerd. (Het framework ondersteunt dit type aanvraag door de REENUMERATE_SELF_INTERFACE_STANDARD-interface te implementeren. Dit is een standaard door stuurprogramma gedefinieerde interface die is gedefinieerd in wdm.h.)

Busdrivers op basis van een framework die dynamische enumeratie ondersteunen, kunnen een EvtChildListDeviceReenumerated callback-functie bieden, die door het framework wordt aangeroepen wanneer er een verzoek voor opnieuw enumereren wordt ontvangen van de driver van een onderliggend apparaat. Als deze callbackfunctie TRUE retourneert of niet bestaat, markeert het framework het kinderapparaat als niet meer aanwezig en informeert het de PnP-manager dat de kinderlijst van het busstuurprogramma is gewijzigd. Als gevolg hiervan vraagt de PnP-manager een herenumeratie aan en roept het framework de callbackfunctie EvtChildListCreateDevice van het stuurprogramma aan, waardoor er een nieuwe PDO voor het kindapparaat wordt gemaakt.