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 |