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 miniporto. 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 miniporto imediatamente após o driver de miniporto chamar StorPortInitialize. O driver de porta libera essa memória quando remove o dispositivo. O driver de miniporto 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 não 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 de dispositivo se aplicam a todos os adaptadores no sistema. Quando Global for zero, o driver de porta lerá 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 de 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 um cadeia de caracteres Unicode terminada porNULL. |
REG_EXPAND_SZ | Indica um cadeia de caracteres Unicode terminada porNULL 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 de caminho real. |
REG_BINARY | Indica um dado binário bruto. |
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 porNULL. |
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 recurso de hardware armazenados na árvore de 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.
Valor de retorno
StorPortRegistryRead retornará um valor booliano de VERDADEIRO 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.
Observações
Se StorPortRegistryRead retornar FALSE com um valor diferente de zero no parâmetro BufferLength, o buffer que foi passado era muito pequeno e o parâmetro BufferLength reflete o tamanho correto do buffer que deve ser usado. Se a rotina retornar FALSE com o parâmetro BufferLength definido como zero, outro erro ocorreu.
O buffer usado nessa rotina é alocado chamando StorPortAllocateRegistryBuffer e liberado chamando StorPortFreeRegistryBuffer.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | storport.h (inclua Storport.h) |
biblioteca | Storport.lib |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | StorPortIrql(storport) |