StorPortRegistryRead, fonction (storport.h)
La routine StorPortRegistryRead lit les données de Registre pour l’appareil et la valeur indiqués.
Syntaxe
BOOLEAN StorPortRegistryRead(
PVOID HwDeviceExtension,
PUCHAR ValueName,
ULONG Global,
ULONG Type,
PUCHAR Buffer,
PULONG BufferLength
);
Paramètres
HwDeviceExtension
Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes miniport stockent généralement des informations spécifiques à l’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées pour l’adaptateur HBA. Cette zone est disponible pour le pilote miniport immédiatement après l’appel du pilote miniport StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil. Le pilote miniport doit s’exécuter au PASSIVE_LEVEL IRQL lorsqu’il appelle cette routine.
ValueName
Pointeur vers un UCHAR qui spécifie le nom de la valeur de Registre dont le contenu doit être lu.
Global
Indique, lorsqu’il n’est pas différent de zéro, que le pilote de port lit le contenu de la valeur de Registre spécifiée par ValueName sous la sous-clé Parameters\Device. Les valeurs sous la clé d’appareil s’appliquent à tous les adaptateurs du système. Lorsque global est égal à zéro, le pilote de port lit le contenu de la valeur de Registre spécifiée par ValueName sous la sous-clé Parameters\Device(d), où (d) est une valeur décimale qui correspond au numéro de port d’un adaptateur particulier. Dans ce cas, les données récupérées sont spécifiques à l’adaptateur.
Type
Indique le type de données de la valeur de Registre. Ce paramètre doit avoir l’une des valeurs du tableau suivant.
Type de données de valeur de Registre | Signification |
---|---|
REG_NONE | Aucun type de données spécifié. |
REG_SZ | Indique une chaîne Unicode NULL-terminated. |
REG_EXPAND_SZ | Indique une chaîne Unicode NULLqui inclut des variables d’environnement qui doivent être développées pour obtenir la chaîne complète. Par exemple, un nom de chemin d’accès peut être stocké en tant que chaîne suivante : «%USERPROFILE%\Application Data ». Dans cet exemple, la variable d’environnement USERPROFILE doit être développée pour obtenir le chemin d’accès réel. |
REG_BINARY | Indique une donnée binaire brute. |
REG_DWORD | Indique une valeur de mot double 32 bits. |
REG_DWORD_LITTLE_ENDIAN | Indique une valeur de mot double 32 bits, dans l’ordre little-endian. Cela est identique à REG_DWORD. |
REG_DWORD_BIG_ENDIAN | Indique une valeur de mot double 32 bits, dans l’ordre big-endian. |
REG_LINK | Indique une chaîne Unicode contenant un lien symbolique. |
REG_MULTI_SZ | Indique une série de chaînes NULL-terminated strings. |
REG_RESOURCE_LIST | Indique que la valeur de Registre contient une liste de ressources matérielles, également appelée « carte de ressources matérielles », qui est stockée sous la ruche HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap. |
REG_FULL_RESOURCE_DESCRIPTOR | Indique que la valeur de Registre contient une description des ressources matérielles stockées sous la ruche HKEY_LOCAL_MACHINE\HARDWARE\Description. |
REG_RESOURCE_REQUIREMENTS_LIST | Indique que la valeur de Registre contient une liste des exigences de ressources matérielles stockées dans l’arborescence HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap. |
REG_QWORD | Indique que la valeur de Registre contient un nombre 64 bits. |
REG_QWORD_LITTLE_ENDIAN | Indique que la valeur de Registre contient un nombre 64 bits. Il s’agit du même type de données que REG_QWORD. |
Buffer
Pointeur vers la mémoire tampon où les informations de Registre récupérées doivent être signalées.
BufferLength
Pointeur vers un ULONG qui contient la taille, en octets, des données de Registre retournées.
Valeur de retour
StorPortRegistryRead retourne une valeur booléenne de TRUE si les données pointées par ValueName sont correctement converties en ASCII et copiées dans la mémoire tampon. Cette routine retourne FALSE en cas d’erreur.
Remarques
Si StorPortRegistryRead retourne FALSE avec une valeur différente de zéro dans le paramètre BufferLength, la mémoire tampon passée était trop petite et le paramètre BufferLength reflète la taille correcte de la mémoire tampon qui doit être utilisée. Si la routine retourne FALSE avec le paramètre BufferLength défini sur zéro, une autre erreur s’est produite.
La mémoire tampon utilisée dans cette routine est allouée en appelant StorPortAllocateRegistryBuffer et libérée en appelant StorPortFreeRegistryBuffer.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | storport.h (include Storport.h) |
bibliothèque | Storport.lib |
IRQL | PASSIVE_LEVEL |
règles de conformité DDI | StorPortIrql(storport) |