Fungsi KsAcquireCachedMdl (ks.h)

Fungsi ini digunakan untuk memperoleh MDL yang di-cache oleh driver port KS. Fungsi ini digunakan oleh driver mode kernel untuk memperoleh MDL untuk sampel yang disediakan alur yang dihasilkan oleh driver Avstream.

Sintaks

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

Parameter

Irp

IRP diteruskan dari mode pengguna yang berisi buffer sampel mode pengguna.

Guid

GUID yang diekstrak dari item atribut MFSampleExtension_MDLCacheCookiedari IMFSample yang diteruskan oleh alur.

CancelRoutine

Batalkan rutinitas, fungsi panggilan balik yang disediakan oleh driver miniport Avstream. Fungsi ini dipanggil ketika status pin yang menghasilkan sampel akan ke status STOP. Tanda tangan rutin batal adalah sebagai berikut:

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

GUID
GUID diteruskan dalam fungsi KsAcquireCachedMdl oleh driver miniport Avstream.

PVOID
Batalkan konteks yang disediakan oleh driver miniport Avstream dalam panggilan fungsi KsAcquireCachedMdl .

PVOID
Konteks rilis. Ini adalah output dari fungsi KsAcquireCachedMdl .

CancelContext

Konteks diteruskan ke driver Avstream dalam rutinitas pembatalan. Konteks ini digunakan oleh driver Avstream untuk masuk ke konteks driver.

MdlAddr

Nilai pengembalian: MDL yang dihasilkan jika KS menemukan MDL yang disimpan untuk buffer sampel.

ReleaseContext

Nilai pengembalian: Konteks yang akan disimpan oleh driver Avstream. Konteks ini harus diteruskan ke KS saat merilis MDL yang diperoleh oleh panggilan KsAcquireCachedMdl .

Mengembalikan nilai

Mengembalikan STATUS_SUCCESS untuk kondisi keberhasilan.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ks.h (termasuk Ks.h)
Pustaka Ks.lib