IPortWavePciStream ::TerminatePacket, méthode (portcls.h)
La méthode TerminatePacket
met fin au paquet actuellement mappé.
Syntaxe
NTSTATUS TerminatePacket();
Valeur de retour
TerminatePacket
retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.
Remarques
Cette méthode est principalement utilisée pour les situations de capture dans lesquelles les paquets d’E/S doivent se terminer à des points spécifiques du flux (par exemple, pour synchroniser avec des images vidéo). La mémoire tampon de données d’une broche de capture sur un périphérique audio se compose d’un ou plusieurs paquets d’E/S. Chaque paquet d’E/S est la partie de la mémoire tampon de données attachée à un IRP de mappage particulier. Par défaut, alors qu’un flux de capture est dans l’état KSSTATE_RUN, le contenu d’un paquet d’E/S devient disponible pour le client uniquement lorsque le dernier mappage dans le paquet a été rempli. La méthode TerminatePacket
rend un paquet partiellement rempli immédiatement disponible pour le client sans attendre d’autres données de capture.
La modification de l’état d’un flux de capture de KSSTATE_RUN en KSSTATE_STOP met automatiquement fin au paquet d’E/S actuel.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | portcls.h (include Portcls.h) |
IRQL | <=DISPATCH_LEVEL |