Função AtaPortGetUnCachedExtension (irb.h)

A rotina AtaPortGetUncachedExtension aloca um buffer comum não armazenado em cache compartilhado pela CPU e pelo dispositivo.

Nota Os modelos de driver de porta do ATA e do driver de miniporto do ATA podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e do driver de miniporto storport .
 

Sintaxe

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

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão de 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 miniporto não exigir uma extensão não armazenado 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.

Retornar valor

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.

Comentários

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 miniport.

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 IdeHwControl e somente quando estiver processando uma ação de controle do StartChannel. Chamadas de AtaPortGetUncachedExtension de outras rotinas de driver de miniporto resultam em uma operação incorreta ou até mesmo falha do 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
Plataforma de Destino Área de Trabalho
Cabeçalho irb.h (inclua Ata.h, Irb.h)
Biblioteca Ataport.lib; Pciidex.lib

Confira também

IdeHwControl