Partager via


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.

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_QUERY_INTERFACE

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)

Voir aussi

KSDEVICE

KSDEVICE_DISPATCH