Partager via


KsAcquireCachedMdl, fonction (ks.h)

Cette fonction est utilisée pour acquérir le MDL mis en cache par le pilote de port KS. La fonction est utilisée par un pilote en mode noyau pour acquérir la MDL pour un exemple fourni par pipeline généré par un pilote Avstream.

Syntaxe

KSDDKAPI NTSTATUS KsAcquireCachedMdl(
  PIRP                 Irp,
  REFGUID              Guid,
  PFNKSCANCELPINNEDMDL CancelRoutine,
  PVOID                CancelContext,
  PMDL                 *MdlAddr,
  PVOID                *ReleaseContext
);

Paramètres

Irp

IRP passé à partir du mode utilisateur contenant l’exemple de mémoire tampon en mode utilisateur.

Guid

GUID extrait de l’élément d’attribut MFSampleExtension_MDLCacheCookie du IMFSample transmis par le pipeline.

CancelRoutine

Annuler la routine, une fonction de rappel fournie par le pilote de miniport Avstream. Cette fonction est appelée lorsque l’état de la broche qui génère l’exemple passe à l’état STOP. La signature de la routine d’annulation est la suivante :

_IRQL_requires_max_(DISPATCH_LEVEL)
typedef
VOID
(*PFNKSCANCELPINNEDMDL)(
    _In_ GUID,
    _In_ PVOID,
    _In_ PVOID
);

GUID
GUID transmis dans la fonction KsAcquireCachedMdl par le pilote de miniport Avstream.

PVOID
Annulez le contexte fourni par le pilote de miniport Avstream dans l’appel de fonction KsAcquireCachedMdl .

PVOID
Contexte de mise en production. Il s’agit de la sortie de la fonction KsAcquireCachedMdl .

CancelContext

Contexte passé au pilote Avstream dans la routine d’annulation. Ce contexte est utilisé par le pilote Avstream pour entrer dans le contexte du pilote.

MdlAddr

Valeur de retour : MDL résultante si KS trouve le MDL stocké pour l’exemple de mémoire tampon.

ReleaseContext

Valeur de retour : contexte à stocker par le pilote Avstream. Ce contexte doit être passé à KS lors de la libération de la MDL acquise par l’appel KsAcquireCachedMdl .

Valeur retournée

Retourne STATUS_SUCCESS pour les conditions de réussite.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib