Condividi tramite


Funzione KsAcquireCachedMdl (ks.h)

Questa funzione viene usata per acquisire il file MDL memorizzato nella cache dal driver della porta KS. La funzione viene usata da un driver in modalità kernel per acquisire il file MDL per un esempio fornito dalla pipeline generato da un driver Avstream.

Sintassi

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

Parametri

Irp

IRP passato dalla modalità utente contenente il buffer di esempio in modalità utente.

Guid

GUID estratto dall'elemento attributo MFSampleExtension_MDLCacheCookie dell'IMFSample passato dalla pipeline.

CancelRoutine

Annullare la routine, una funzione di callback fornita dal driver miniport Avstream. Questa funzione viene chiamata quando lo stato del pin che genera l'esempio verrà arrestato. La firma della routine di annullamento è la seguente:

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

GUID
GUID passato nel KsAcquireCachedMdl funzione dal driver miniport Avstream.

PVOID
Annullare il contesto fornito dal driver miniport Avstream nella KsAcquireCachedMdl chiamata di funzione.

PVOID
Contesto di rilascio. Questo è l'output della funzione di KsAcquireCachedMdl.

CancelContext

Contesto passato al driver Avstream nella routine di annullamento. Questo contesto viene usato dal driver Avstream per accedere al contesto del driver.

MdlAddr

Valore restituito: MDL risultante se KS trova il file MDL archiviato per il buffer di esempio.

ReleaseContext

Valore restituito: contesto da archiviare dal driver Avstream. Questo contesto deve essere passato a KS quando rilascia il file MDL acquisito dal KsAcquireCachedMdl chiamata.

Valore restituito

Restituisce STATUS_SUCCESS per le condizioni di esito positivo.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib