Функция 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 |