Función KsAcquireCachedMdl (ks.h)

Esta función se usa para adquirir la MDL almacenada en caché por el controlador de puerto KS. Un controlador de modo kernel usa la función para adquirir el MDL para un ejemplo proporcionado por la canalización generado por un controlador Avstream.

Sintaxis

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

Parámetros

Irp

IRP pasado desde el modo de usuario que contiene el búfer de ejemplo en modo de usuario.

Guid

Guid extraído del elemento de atributo MFSampleExtension_MDLCacheCookie del IMFSample pasado por la canalización.

CancelRoutine

Cancelar rutina, una función de devolución de llamada proporcionada por el controlador de miniporte avstream. Se llama a esta función cuando el estado de la patilla que genera el ejemplo va a estado STOP. La firma de la rutina de cancelación es la siguiente:

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

GUID
GUID pasado en la función KsAcquireCachedMdl por el controlador de miniporte avstream.

PVOID
Cancel context proporcionado por el controlador avstream miniport en la llamada de función KsAcquireCachedMdl .

PVOID
Contexto de versión. Esta es la salida de la función KsAcquireCachedMdl .

CancelContext

Contexto pasado al controlador Avstream en la rutina de cancelación. El controlador Avstream usa este contexto para entrar en el contexto del controlador.

MdlAddr

Valor devuelto: MDL resultante si KS encuentra el MDL almacenado para el búfer de ejemplo.

ReleaseContext

Valor devuelto: contexto que va a almacenar el controlador Avstream. Este contexto debe pasarse a KS al liberar la MDL adquirida por la llamada KsAcquireCachedMdl .

Valor devuelto

Devuelve STATUS_SUCCESS para las condiciones de éxito.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ks.h (incluye Ks.h)
Library Ks.lib