Função StreamClassGetPhysicalAddress (strmini.h)

A rotina StreamClassGetPhysicalAddress converte um endereço de memória virtual em um endereço de memória física e bloqueia a memória física correspondente para uma operação de DMA.

Sintaxe

STREAM_PHYSICAL_ADDRESS STREAMAPI StreamClassGetPhysicalAddress(
  [in]           PVOID                    HwDeviceExtension,
  [in, optional] PHW_STREAM_REQUEST_BLOCK HwSRB,
  [in]           PVOID                    VirtualAddress,
  [in]           STREAM_BUFFER_TYPE       Type,
  [out]          ULONG                    *Length
);

Parâmetros

[in] HwDeviceExtension

Ponteiro para a extensão de dispositivo do minidriver. O minidriver especifica o tamanho desse buffer na estrutura HW_INITIALIZATION_DATA que ele passa quando se registra por meio de StreamClassRegisterMinidriver. Em seguida, o driver de classe passa ponteiros para o buffer no membro HwDeviceExtension do HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT e PORT_CONFIGURATION_INFORMATION estruturas que ele passa para o minidriver.

[in, optional] HwSRB

Especifica um bloco de solicitação de fluxo. Esse parâmetro será usado somente se o parâmetro Type tiver o valor SRBDataBuffer, caso contrário, HwSRB deverá ser NULL. Esse parâmetro é opcional.

[in] VirtualAddress

Especifica o endereço virtual a ser traduzido.

[in] Type

Especifica o tipo de buffer apontado por VirtualAddress. Esse valor pode ser PerRequestExtension, DmaBuffer ou SRBDataBuffer.

[out] Length

Especifica o comprimento, em bytes, do buffer.

Retornar valor

StreamClassGetPhysicalAddress retorna o endereço virtual traduzido como um endereço de memória física.

Comentários

O tipo de buffer a ser usado é especificado no parâmetro Type . Os significados desses valores são mostrados na tabela a seguir.

Tipo de buffer Descrição
PerRequestExtension Indica o endereço físico da extensão SRB.
DmaBuffer Indica o endereço físico do buffer de DMA.
SRBDataBuffer Indica o endereço físico do buffer de dados.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho strmini.h (inclua Strmini.h)
Biblioteca Stream.lib