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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour