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 Device.

Valeur de retour

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 la QueryRemove membre de sa structure KSDEVICE_DISPATCH. Cette routine est appelée lorsqu’une IRP_MN_QUERY_REMOVE_DEVICE est distribuée par l’appareil. Il sera généralement fourni par des minidrivers qui souhaitent empêcher la suppression de l’appareil ou par des minidrivers qui doivent interdire l’activité qui les empêcherait d’effectuer une opération de suppression d’appareil. Si cette routine n’est pas fournie, AVStream part du principe que l’appareil peut valider une suppression. La routine est appelée à IRQL = PASSIVE_LEVEL et peut ne pas retourner STATUS_PENDING ; un code de réussite indique que l’appareil peut s’engager dans une suppression et qu’un code d’erreur indique qu’il ne peut pas. Retournez la réussite si l’appareil peut être supprimé (ou les pilotes peuvent être mis à jour) sans interrompre la machine. Cette routine est facultative.
IRP_MN_QUERY_STOP_DEVICE Le minidriver spécifie un pointeur vers cette routine dans le QueryStop membre de sa structure KSDEVICE_DISPATCH. Utilisez AVStrMiniQueryStop pour empêcher l’arrêt de l’appareil ou pour interdire l’activité qui empêcherait le minidriver de s’engager dans une opération d’arrêt. Si cette routine n’est pas spécifiée, AVStream part du principe que le minidriver peut valider dans une opération d’arrêt. Cette routine est facultative. La réussite indique que l’appareil peut valider un arrêt et qu’un code d’erreur indique qu’il ne peut pas. Ne retournez pas STATUS_PENDING.
IRP_MN_QUERY_INTERFACE Un pilote ou un composant système envoie cet 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.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête ks.h (include Ks.h)
IRQL PASSIVE_LEVEL (voir la section Remarques)

Voir aussi

KSDEVICE

KSDEVICE_DISPATCH