Función StreamClassGetPhysicalAddress (strmini.h)

La rutina StreamClassGetPhysicalAddress traduce una dirección de memoria virtual a una dirección de memoria física y bloquea la memoria física correspondiente para una operación DMA.

Sintaxis

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

Puntero a la extensión del dispositivo del minidriver. El minidriver especifica el tamaño de este búfer en la estructura HW_INITIALIZATION_DATA que pasa cuando se registra a sí mismo a través de StreamClassRegisterMinidriver. A continuación, el controlador de clase pasa punteros al búfer en el miembro HwDeviceExtension del HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT y PORT_CONFIGURATION_INFORMATION estructuras que pasa al minidriver.

[in, optional] HwSRB

Especifica un bloque de solicitud de secuencia. Este parámetro solo se usa si el parámetro Type tiene el valor SRBDataBuffer; de lo contrario, HwSRB debe ser NULL. Este parámetro es opcional.

[in] VirtualAddress

Especifica la dirección virtual que se va a traducir.

[in] Type

Especifica el tipo de búfer al que apunta VirtualAddress. Este valor puede ser PerRequestExtension, DmaBuffer o SRBDataBuffer.

[out] Length

Especifica la longitud, en bytes, del búfer.

Valor devuelto

StreamClassGetPhysicalAddress devuelve la dirección virtual traducida como una dirección de memoria física.

Comentarios

El tipo de búfer que se va a usar se especifica en el parámetro Type . Los significados de estos valores se muestran en la tabla siguiente.

Tipo de búfer Descripción
PerRequestExtension Indica la dirección física de la extensión SRB.
DmaBuffer Indica la dirección física del búfer DMA.
SRBDataBuffer Indica la dirección física del búfer de datos.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado strmini.h (include Strmini.h)
Library Stream.lib