Partilhar via


Função AtaPortGetUnCachedExtension (irb.h)

A rotina de AtaPortGetUncachedExtension aloca um buffer comum não armazenado que é compartilhado pela CPU e pelo dispositivo.

Observação o driver de porta do ATA e os modelos de driver de miniporto do ATA podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar o de driver do Storport e miniporto storport modelos de driver.
 

Sintaxe

PVOID AtaPortGetUnCachedExtension(
  [in] PVOID ChannelExtension,
  [in] ULONG UncachedExtensionSize,
  [in] ULONG IrbExtensionSize
);

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão do canal.

[in] UncachedExtensionSize

Especifica o comprimento, em bytes, do buffer comum não armazenado em cache. Defina esse parâmetro como 0 se o driver de miniport não exigir uma extensão não em cache.

[in] IrbExtensionSize

Especifica o tamanho, em bytes, que é exigido pelo driver de miniporto para o armazenamento por solicitação, se houver.

Defina esse parâmetro definido como 0 se o driver de miniporto não mantiver por informações de IRB para as quais ele requer armazenamento.

Valor de retorno

AtaPortGetUncachedExtension 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 ou se a memória tiver sido alocada anteriormente, ela retornará NULL.

Observações

O driver de miniporto pode usar extensões IRB como armazenamento para informações específicas de solicitação determinadas pelo driver, como dados necessários para processar uma solicitação específica.

O driver de porta não inicializa extensões IRB, mas define um ponteiro para uma extensão em cada IRB que ele envia para o driver de miniporto.

O hardware HBA pode acessar com segurança uma extensão IRB.

O driver de miniporto não deve chamar AtaPortGetUncachedExtension de qualquer rotina diferente de sua rotina de IdeHwControl e somente quando estiver processando uma ação de controle de StartChannel. Chamadas de AtaPortGetUncachedExtension de outras rotinas de driver de miniporto resultam em uma operação incorreta ou até mesmo falha no sistema. O driver de porta libera automaticamente a extensão não em cache depois de invocar IdeHwControl com a ação de controle StopChannel.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho irb.h (include Ata.h, Irb.h)
biblioteca Ataport.lib; Pciidex.lib

Consulte também

IdeHwControl