Función StorPortGetUncachedExtension (storport.h)
La rutina StorPortGetUncachedExtension asigna un búfer común sin almacenamiento en caché que compartirá la CPU y el dispositivo.
Sintaxis
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
Parámetros
HwDeviceExtension
Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de minipuerto. Los controladores de minipuerto suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados para el HBA. Esta área está disponible para el controlador de minipuerto inmediatamente después de que el controlador de minipuerto llame a StorPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.
ConfigInfo
Especifica información sobre las funcionalidades DMA de HBA. Los miembros siguientes deben rellenarse: DmaChannel o DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, Master establecido en TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense y SrbExtensionSize.
Los miembros que no son pertinentes para el HBA, como DmaChannel para un adaptador EISA bus-master, deben dejarse tal como está.
NumberOfBytes
Tamaño necesario, en bytes, de la extensión sin almacenar en caché que se va a asignar.
Valor devuelto
StorPortGetUncachedExtension devuelve un puntero de dirección virtual a la extensión sin almacenamiento en caché. Si no puede asignar la memoria solicitada, devuelve NULL. Si la memoria se asignó anteriormente, se devuelve el puntero de dirección virtual a la extensión no almacenada en caché actual.
Comentarios
Los dispositivos maestros de bus usan espacio de búfer común para las transferencias DMA.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | storport.h (incluya Storport.h) |
Library | Storport.lib |