Compartilhar via


Função KsAcquireCachedMdl (ks.h)

Essa função é usada para adquirir o MDL armazenado em cache pelo driver de porta KS. A função é usada por um driver de modo kernel para adquirir o MDL para um exemplo fornecido por pipeline gerado por um driver Avstream.

Sintaxe

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

Parâmetros

Irp

O IRP passou do modo de usuário que contém o buffer de exemplo do modo de usuário.

Guid

O GUID extraído do item de atributo MFSampleExtension_MDLCacheCookie do IMFSample passado pelo pipeline.

CancelRoutine

Rotina de cancelamento, uma função de retorno de chamada fornecida pelo driver de miniporto Avstream. Essa função é chamada quando o estado do pino que gera o exemplo vai parar o estado. A assinatura da rotina de cancelamento é a seguinte:

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

guid do
GUID passado na função KsAcquireCachedMdl pelo driver de miniporto Avstream.

PVOID
Cancelar o contexto fornecido pelo driver de miniporto Avstream na chamada de função KsAcquireCachedMdl.

PVOID
Contexto de versão. Essa é a saída da função KsAcquireCachedMdl.

CancelContext

O contexto passado para o driver Avstream na rotina de cancelamento. Esse contexto é usado pelo driver Avstream para entrar no contexto do driver.

MdlAddr

Valor de retorno: o MDL resultante se o KS encontrar o MDL armazenado para o buffer de exemplo.

ReleaseContext

Valor de retorno: o contexto a ser armazenado pelo driver Avstream. Esse contexto deve ser passado para ks ao liberar o MDL adquirido pela chamada KsAcquireCachedMdl.

Valor de retorno

Retorna STATUS_SUCCESS para condições de êxito.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ks.h (incluir Ks.h)
biblioteca Ks.lib