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 passado 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

Cancelar rotina, 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
GUID passado na função KsAcquireCachedMdl pelo driver de miniporto Avstream.

PVOID
Cancele 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 retornado: o MDL resultante se o KS encontrar o MDL armazenado para o buffer de exemplo.

ReleaseContext

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

Retornar valor

Retorna STATUS_SUCCESS para condições de êxito.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ks.h (inclua Ks.h)
Biblioteca Ks.lib