Compartilhar via


Função StorPortRegistryRead (storport.h)

A rotina StorPortRegistryRead lê os dados do Registro para o dispositivo e o valor indicados.

Sintaxe

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

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 miniporta. Os drivers de miniporta 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 miniporta imediatamente após o driver de miniporto chamar StorPortInitialize. O driver de porta libera essa memória quando remove o dispositivo. O driver de miniporta deve estar em execução no IRQL PASSIVE_LEVEL quando chama essa rotina.

ValueName

Ponteiro para um UCHAR que especifica o nome do valor do Registro cujo conteúdo deve ser lido.

Global

Indica, quando diferente de zero, que o driver de porta lê o conteúdo do valor do Registro especificado por ValueName na subchave Parameters\Device. Os valores na chave do dispositivo se aplicam a todos os adaptadores no sistema. Quando Global é zero, o driver de porta lê o conteúdo do valor do Registro especificado por ValueName na subchave Parameters\Device(d), em que (d) é um valor decimal que corresponde ao número da porta de um adaptador específico. Nesse caso, os dados recuperados são específicos do adaptador.

Type

Indica o tipo de dados do valor do Registro. Esse parâmetro deve ter um dos valores na tabela a seguir.

Tipo de dados de valor do Registro Significado
REG_NONE Nenhum tipo de dados especificado.
REG_SZ Indica uma cadeia de caracteres Unicode terminada em NULL.
REG_EXPAND_SZ Indica uma cadeia de caracteres Unicode terminada em NULL que inclui variáveis de ambiente que devem ser expandidas para obter a cadeia de caracteres completa. Por exemplo, um nome de caminho pode ser armazenado como a seguinte cadeia de caracteres: "%USERPROFILE%\Application Data ". Neste exemplo, a variável de ambiente USERPROFILE deve ser expandida para obter o nome do caminho real.
REG_BINARY Indica dados binários brutos.
REG_DWORD Indica um valor de palavra dupla de 32 bits.
REG_DWORD_LITTLE_ENDIAN Indica um valor de palavra dupla de 32 bits, em ordem little-endian. Isso é idêntico ao REG_DWORD.
REG_DWORD_BIG_ENDIAN Indica um valor de palavra dupla de 32 bits, em ordem big-endian.
REG_LINK Indica uma cadeia de caracteres Unicode que contém um link simbólico.
REG_MULTI_SZ Indica uma série de cadeias de caracteres terminadas em NULL.
REG_RESOURCE_LIST Indica que o valor do Registro contém uma lista de recursos de hardware, também conhecida como "mapa de recursos de hardware", que é armazenada no hive HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_FULL_RESOURCE_DESCRIPTOR Indica que o valor do Registro contém uma descrição dos recursos de hardware armazenados no hive HKEY_LOCAL_MACHINE\HARDWARE\Description.
REG_RESOURCE_REQUIREMENTS_LIST Indica que o valor do Registro contém uma lista de requisitos de recursos de hardware armazenados na árvore HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_QWORD Indica que o valor do Registro contém um número de 64 bits.
REG_QWORD_LITTLE_ENDIAN Indica que o valor do Registro contém um número de 64 bits. Esse é o mesmo tipo de dados que REG_QWORD.

Buffer

Ponteiro para o buffer em que as informações do Registro recuperadas devem ser relatadas.

BufferLength

Ponteiro para um ULONG que contém o tamanho, em bytes, dos dados do Registro retornados.

Retornar valor

StorPortRegistryRead retornará um valor booliano true se os dados apontados por ValueName forem convertidos com êxito em ASCII e copiados para o buffer. Essa rotina retorna FALSE no caso de um erro.

Comentários

Se StorPortRegistryRead retornar FALSE com um valor diferente de zero no parâmetro BufferLength , o buffer passado era muito pequeno e o parâmetro BufferLength refletirá o tamanho correto do buffer que deve ser usado. Se a rotina retornar FALSE com o parâmetro BufferLength definido como zero, outro erro ocorrerá.

O buffer usado nessa rotina é alocado chamando StorPortAllocateRegistryBuffer e liberado chamando StorPortFreeRegistryBuffer.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
Biblioteca Storport.lib
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI StorPortIrql(storport)

Confira também

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize