Compartir a través de


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 de la HwDeviceExtension miembro del HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXTy PORT_CONFIGURATION_INFORMATION estructuras que pasa al minidriver.

[in, optional] HwSRB

Especifica un bloque de solicitud de flujo. Este parámetro solo se usa si el parámetro type de 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.

Observaciones

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 Valor
de la plataforma de destino de Escritorio
encabezado de strmini.h (incluya Strmini.h)
biblioteca de Stream.lib