Поделиться через


Функция 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_MDLCacheCookieIMFSample, переданного конвейером.

CancelRoutine

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

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

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

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

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

CancelContext

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

MdlAddr

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

ReleaseContext

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib