Fonction de rappel PFNKSDEVICEIRP (ks.h)
La routine de gestionnaire IRP d’un minidriver AVStream est appelée lorsque ces irps sont distribués par l’appareil.
Syntaxe
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
Paramètres
[in] Device
Pointeur vers le KSDEVICE qui a distribué l’IRP.
[in] Irp
IRP émis par l’appareil.
Valeur retournée
Doit retourner STATUS_SUCCESS ou le code d’erreur retourné par la tentative d’exécution de l’opération. Si ce n’est pas le cas, retournez un code d’erreur approprié.
Remarques
IRP | Description |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE | Le minidriver spécifie l’adresse de cette routine dans le membre QueryRemove de sa structure KSDEVICE_DISPATCH . Cette routine est appelée lorsqu’un IRP_MN_QUERY_REMOVE_DEVICE est distribué par l’appareil. Il est généralement fourni par les minidrivers qui souhaitent empêcher la suppression de l’appareil ou par les minidrivers qui doivent interdire toute activité qui les empêcherait de valider une opération de suppression d’appareil. Si cette routine n’est pas fournie, AVStream suppose que l’appareil peut valider une suppression. La routine est appelée dans IRQL = PASSIVE_LEVEL et peut ne pas retourner STATUS_PENDING ; un code de réussite indique que l’appareil peut valider une suppression et un code d’erreur indique qu’il ne peut pas le faire. Retour réussi si l’appareil peut être supprimé (ou les pilotes peuvent être mis à jour) sans perturber l’ordinateur. Cette routine est facultative. |
IRP_MN_QUERY_STOP_DEVICE | Le minidriver spécifie un pointeur vers cette routine dans le membre QueryStop de sa structure KSDEVICE_DISPATCH . Utilisez AVStrMiniQueryStop pour empêcher l’arrêt de l’appareil ou pour interdire toute activité qui empêcherait le minidriver de valider une opération d’arrêt. Si cette routine n’est pas spécifiée, AVStream suppose que le minidriver peut valider une opération d’arrêt. Cette routine est facultative. La réussite indique que l’appareil peut valider un arrêt et un code d’erreur indique qu’il ne peut pas le faire. Ne retournez pas STATUS_PENDING. |
IRP_MN_QUERY_INTERFACE | Un pilote ou un composant système envoie cette IRP pour obtenir des informations sur une interface exportée par votre pilote. Pour plus d’informations sur l’IRP, consultez IRP_MN_QUERY_INTERFACE. Le minidriver spécifie l’adresse de cette routine dans le membre QueryInterface de sa structure KSDEVICE_DISPATCH . Cette routine est facultative. |
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ks.h (inclure Ks.h) |
IRQL | PASSIVE_LEVEL (voir la section Remarques) |