Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Obecný objekt architektury je objekt architektury, ze kterého jsou odvozeny všechny ostatní typy objektů architektury.
Stejně jako ostatní objekty architektury podporují obecné objekty referenční počet, kontextový prostor, funkce zpětného volání odstranění a nadřazený objekt, jak je popsáno v úvodu k framework objects.
Ovladače mohou vytvářet a používat obecné objekty architektury. Pokud ovladač volá WdfObjectCreate k vytvoření obecných objektů, ovladač může:
Vytvořte jeden nebo více kontextových prostorů pro každý obecný objekt.
Kontextový prostor objektu můžete použít k ukládání informací o systémových prostředcích, které chcete přidružit k obecnému objektu.
Další informace o kontextové oblasti naleznete v tématu Framework Object Context Space.
Přiřaďte nadřazený objekt všeobecnému objektu.
Obecný objekt bude odstraněn při odstranění nadřazeného objektu. Pokud například váš ovladač určí objekt zařízení frameworku jako nadřazený objekt pro jeden ze svých obecných objektů, framework tento obecný objekt odstraní při odstranění objektu zařízení.
Ovladače určují nadřazený objekt tím, že nastaví člen ParentObject struktury WDF_OBJECT_ATTRIBUTES objektu.
Poskytněte funkce pro zpětné volání při odstranění.
Ovladač může poskytovat funkce EvtCleanupCallback a EvtDestroyCallback , které mohou uvolnit systémové prostředky, které ovladač při vytváření obecného objektu přidělil. Pokud například ovladač volal ExAllocatePool při vytvoření obecného objektu, funkce zpětného volání pro vyčištění nebo zničení může volat ExFreePool.
Používání obecných objektů může být pohodlný způsob správy prostředků přidělených řidičem. Například ovladač vyšší úrovně může vyžadovat více přidělení paměti ke zpracování přijaté vstupně-výstupní žádosti, pokud ovladač odešle požadavek na více zařízení nebo rozdělí požadavek na několik menších. Ovladač může vytvořit jeden nebo více obecných objektů, které jsou podřízené přijatému vstupně-výstupnímu požadavku, a může ukládat informace o přidělení paměti v kontextovém prostoru těchto obecných objektů.