StorPortRegistryRead-Funktion (storport.h)
Die StorPortRegistryRead Routine liest die Registrierungsdaten für das angegebene Gerät und den angegebenen Wert vor.
Syntax
BOOLEAN StorPortRegistryRead(
PVOID HwDeviceExtension,
PUCHAR ValueName,
ULONG Global,
ULONG Type,
PUCHAR Buffer,
PULONG BufferLength
);
Parameter
HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers zuweist und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf des Miniporttreibers StorPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt. Der Miniporttreiber muss bei IRQL-PASSIVE_LEVEL ausgeführt werden, wenn er diese Routine aufruft.
ValueName
Zeigen Sie auf eine UCHAR, die den Registrierungswertnamen angibt, dessen Inhalt gelesen werden soll.
Global
Gibt an, dass der Porttreiber den Inhalt des Registrierungswerts liest, der durch ValueName unter dem Unterschlüssel "Parameters\Device" angegeben ist. Die Werte unter dem Geräteschlüssel gelten für alle Adapter im System. Wenn globalen null ist, liest der Porttreiber den Inhalt des Registrierungswerts, der durch ValueName unter dem Unterschlüssel Parameters\Device(d) angegeben ist, wobei (d) ein Dezimalwert ist, der der Portnummer eines bestimmten Adapters entspricht. In diesem Fall sind die abgerufenen Daten adapterspezifisch.
Type
Gibt den Datentyp des Registrierungswerts an. Dieser Parameter muss einen der Werte in der folgenden Tabelle aufweisen.
Datentyp des Registrierungswerts | Bedeutung |
---|---|
REG_NONE | Es wurde kein Datentyp angegeben. |
REG_SZ | Gibt eine NULL--terminated Unicode-Zeichenfolge an. |
REG_EXPAND_SZ | Gibt eine NULL--terminated Unicode-Zeichenfolge an, die Umgebungsvariablen enthält, die erweitert werden müssen, um die vollständige Zeichenfolge abzurufen. Beispielsweise kann ein Pfadname als folgende Zeichenfolge gespeichert werden: "%USERPROFILE%\Application Data ". In diesem Beispiel muss die Umgebungsvariable USERPROFILE erweitert werden, um den tatsächlichen Pfadnamen abzurufen. |
REG_BINARY | Gibt eine unformatierte Binärdaten an. |
REG_DWORD | Gibt einen 32-Bit-Doppelwortwert an. |
REG_DWORD_LITTLE_ENDIAN | Gibt einen 32-Bit-Doppelwortwert in kleiner endischer Reihenfolge an. Dies ist identisch mit REG_DWORD. |
REG_DWORD_BIG_ENDIAN | Gibt einen 32-Bit-Doppelwortwert in big-endischer Reihenfolge an. |
REG_LINK | Gibt eine Unicode-Zeichenfolge an, die eine symbolische Verknüpfung enthält. |
REG_MULTI_SZ | Gibt eine Reihe von NULL--terminated-Zeichenfolgen an. |
REG_RESOURCE_LIST | Gibt an, dass der Registrierungswert eine Liste der Hardwareressourcen enthält, die auch als "Hardwareressourcenzuordnung" bezeichnet werden, die unter der HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap Struktur gespeichert ist. |
REG_FULL_RESOURCE_DESCRIPTOR | Gibt an, dass der Registrierungswert eine Beschreibung der Hardwareressourcen enthält, die unter der HKEY_LOCAL_MACHINE\HARDWARE\Description Struktur gespeichert sind. |
REG_RESOURCE_REQUIREMENTS_LIST | Gibt an, dass der Registrierungswert eine Liste der Hardwareressourcenanforderungen enthält, die unter der HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap Struktur gespeichert sind. |
REG_QWORD | Gibt an, dass der Registrierungswert eine 64-Bit-Zahl enthält. |
REG_QWORD_LITTLE_ENDIAN | Gibt an, dass der Registrierungswert eine 64-Bit-Zahl enthält. Dies ist derselbe Datentyp wie REG_QWORD. |
Buffer
Zeigen Sie auf den Puffer, in dem die abgerufenen Registrierungsinformationen gemeldet werden sollen.
BufferLength
Zeigen Sie auf eine ULONG, die die Größe der zurückgegebenen Registrierungsdaten in Byte enthält.
Rückgabewert
StorPortRegistryRead gibt einen booleschen Wert von TRUE zurück, wenn die daten, auf die ValueName verweist, erfolgreich in ASCII konvertiert und in den Puffer kopiert werden. Diese Routine gibt FALSE- im Falle eines Fehlers zurück.
Bemerkungen
Wenn StorPortRegistryRead-FALSE- mit einem Wert ungleich Null im parameter BufferLeng th zurückgibt, war der übergebene Puffer zu klein, und der Parameter "BufferLength" gibt die richtige Puffergröße wieder, die verwendet werden soll. Wenn die Routine FALSE- zurückgibt, wobei der parameter BufferLength auf Null festgelegt ist, ist ein weiterer Fehler aufgetreten.
Der in dieser Routine verwendete Puffer wird durch Aufrufen StorPortAllocateRegistryBuffer zugewiesen und durch Aufrufen von StorPortFreeRegistryBufferfreigegeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
Library | Storport.lib |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | StorPortIrql(storport) |