Função StorPortGetUncachedExtension (storport.h)
A rotina StorPortGetUncachedExtension aloca um buffer comum não armazenado em cache a ser compartilhado pela CPU e pelo dispositivo.
Sintaxe
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
Parâmetros
HwDeviceExtension
Um ponteiro para a extensão do dispositivo de hardware. Essa é uma área de armazenamento por HBA que o driver de porta aloca e inicializa em nome do driver de miniport. Os drivers de miniporto geralmente armazenam informações específicas do HBA nessa extensão, como o estado do HBA e os intervalos de acesso mapeados para o HBA. Essa área está disponível para o driver de miniporte imediatamente após o driver de miniporto chamar StorPortInitialize. O driver de porta libera essa memória quando remove o dispositivo.
ConfigInfo
Especifica informações sobre os recursos de DMA do HBA. Os seguintes membros devem ser preenchidos: DmaChannel ou DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, Master set como TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense e SrbExtensionSize.
Os membros que não são pertinentes ao HBA, como o DmaChannel para um adaptador de master de barramento EISA, devem ser deixados como estão.
NumberOfBytes
O tamanho necessário, em bytes, da extensão não em cache a ser alocada.
Retornar valor
StorPortGetUncachedExtension retorna um ponteiro de endereço virtual para a extensão não armazenado em cache. Se não puder alocar a memória solicitada, ela retornará NULL. Se a memória tiver sido alocada anteriormente, o ponteiro de endereço virtual para a extensão não armazenada em cache atual será retornado.
Comentários
Os dispositivos master de barramento usam espaço de buffer comum para transferências de DMA.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | storport.h (inclua Storport.h) |
Biblioteca | Storport.lib |