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

KsFastPropertyHandler

KsPropertyHandlerWithAllocator