Функция KsAcquireCachedMdl (ks.h)

Эта функция используется для получения MDL, кэшированного драйвером порта KS. Функция используется драйвером режима ядра для получения MDL для предоставленного конвейером примера, созданного драйвером Avstream.

Синтаксис

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

Параметры

Irp

IRP, передаваемый из пользовательского режима, содержащего пример буфера пользовательского режима.

Guid

GUID, извлеченный из элемента атрибута MFSampleExtension_MDLCacheCookie , переданного конвейером IMFSample .

CancelRoutine

Отмена подпрограммы— функция обратного вызова, предоставляемая драйвером мини-порта Avstream. Эта функция вызывается, когда состояние закрепления, создающего пример, перейдет в состояние STOP. Сигнатура процедуры отмены выглядит следующим образом:

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

GUID
GUID, переданный в функцию KsAcquireCachedMdl драйвером мини-порта Avstream.

PVOID
Контекст отмены, предоставленный драйвером avstream miniport в вызове функции KsAcquireCachedMdl .

PVOID
Контекст выпуска. Это выходные данные функции KsAcquireCachedMdl .

CancelContext

Контекст, передаваемый драйверу Avstream в процедуре отмены. Этот контекст используется драйвером Avstream для получения сведений о контексте драйвера.

MdlAddr

Возвращаемое значение: результирующий MDL, если KS находит MDL, хранящийся для буфера образца.

ReleaseContext

Возвращаемое значение: контекст, хранимый драйвером Avstream. Этот контекст следует передать в KS при освобождении MDL, полученного вызовом KsAcquireCachedMdl .

Возвращаемое значение

Возвращает STATUS_SUCCESS для условий успешного выполнения.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib