KsPropertyHandler, fonction (ks.h)
Les pilotes appellent la fonction KsPropertyHandler pour la gestion des IRP.
Syntaxe
KSDDKAPI NTSTATUS KsPropertyHandler(
[in] PIRP Irp,
[in] ULONG PropertySetsCount,
[in] const KSPROPERTY_SET *PropertySet
);
Paramètres
[in] Irp
Spécifie l’IRP avec la demande de propriété gérée.
[in] PropertySetsCount
Spécifie le nombre de jeux de propriétés passés.
[in] PropertySet
Pointe vers un tableau de structures KSPROPERTY_SET . Le pilote doit fournir une structure pour chaque jeu de propriétés qu’il souhaite que KsPropertyHandler gère.
Valeur retournée
La fonction KsPropertyHandler retourne STATUS_SUCCESS en cas de réussite, ou une erreur spécifique à la propriété gérée en cas d’échec. La fonction définit l’IRP-IO_STATUS_BLOCK>. Membre de l’information, soit en lui affectant la valeur zéro en raison d’une erreur interne, soit par un gestionnaire de propriétés. La fonction ne définit pas le membre lrp-IoStatus.Status> et ne termine pas l’IRP.
Remarques
KsPropertyHandler répond à tous les identificateurs de propriété définis par les jeux et ne peut être appelé qu’à PASSIVE_LEVEL.
Chaque entrée KSPROPERTY_SET contient un pointeur vers un tableau de structures KSPROPERTY_ITEM dans son membre PropertyItem. Pour le traitement spécifique au pilote, KsPropertyHandler remet chaque requête à l’un des rappels fournis par le pilote dans PropertyItem. KsPropertyHandler prend en charge tout traitement IRP requis.
KsPropertyHandler n’utilise pas le membre FastIoTable de sa structure KSPROPERTY_SET . Si le pilote doit prendre en charge la gestion rapide des E/S des requêtes, la même structure KSPROPERTY_SET doit être passée à la routine KsFastPropertyHandler.
Le propriétaire des jeux de propriétés peut effectuer le préfiltrage ou le postfiltrage de la gestion des propriétés. Les exceptions d’accès à la structure de propriété de base sont gérées par la fonction KsPropertyHandler , mais le nettoyage pour des exceptions spécifiques doit être couvert par le gestionnaire de propriétés.
KsPropertyHandler place un pointeur vers la structure de KSPROPERTY_SET appropriée dans le paramètre Irp-Tail.Overlay.DriverContext> dans l’IRP. Le minidriver peut utiliser la macro KSPROPERTY_SET_IRP_STORAGE, définie dans ks.h, pour accéder à ce pointeur.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ks.h (inclure Ks.h) |
Bibliothèque | Ks.lib |