StorPortRegistryRead-Funktion (storport.h)
Die StorPortRegistryRead-Routine liest die Registrierungsdaten für das angegebene Gerät und den angegebenen Wert.
Syntax
BOOLEAN StorPortRegistryRead(
PVOID HwDeviceExtension,
PUCHAR ValueName,
ULONG Global,
ULONG Type,
PUCHAR Buffer,
PULONG BufferLength
);
Parameter
HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Hierbei handelt es sich um einen HBA-Speicherbereich, den der Porttreiber im Auftrag des Miniporttreibers ordnet und initialisiert. Miniporttreiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf des Miniporttreibers StorPortInitialize zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt. Der Miniporttreiber muss bei IRQL PASSIVE_LEVEL ausgeführt werden, wenn er diese Routine aufruft.
ValueName
Zeiger auf eine UCHAR, die den Registrierungswertnamen angibt, dessen Inhalt gelesen werden soll.
Global
Gibt an, wenn nonzero, dass der Porttreiber den Inhalt des Registrierungswerts liest, der von ValueName unter dem Unterschlüssel Parameters\Device angegeben wird. Die Werte unter dem Geräteschlüssel gelten für alle Adapter im System. Wenn Global 0 ist, liest der Porttreiber den Inhalt des von ValueName angegebenen Registrierungswerts unter dem Unterschlüssel Parameters\Device(d), 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 über einen der Werte in der folgenden Tabelle verfügen.
Registrierungswertdatentyp | Bedeutung |
---|---|
REG_NONE | Kein Datentyp angegeben. |
REG_SZ | Gibt eine MIT NULL beendete Unicode-Zeichenfolge an. |
REG_EXPAND_SZ | Gibt eine MIT NULL beendete 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%\Anwendungsdaten". In diesem Beispiel muss die Umgebungsvariable USERPROFILE erweitert werden, um den tatsächlichen Pfadnamen abzurufen. |
REG_BINARY | Gibt unformatierte Binärdaten an. |
REG_DWORD | Gibt einen 32-Bit-Doppelwortwert an. |
REG_DWORD_LITTLE_ENDIAN | Gibt einen 32-Bit-Doppelwortwert in Little-Endian-Reihenfolge an. Dies ist identisch mit REG_DWORD. |
REG_DWORD_BIG_ENDIAN | Gibt einen 32-Bit-Doppelwortwert in big-endian-Reihenfolge an. |
REG_LINK | Gibt eine Unicode-Zeichenfolge an, die einen symbolischen Link enthält. |
REG_MULTI_SZ | Gibt eine Reihe von NULL-beendeten Zeichenfolgen an. |
REG_RESOURCE_LIST | Gibt an, dass der Registrierungswert eine Liste von Hardwareressourcen enthält, die auch als "Hardwareressourcenzuordnung" bezeichnet wird und unter der HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap-Struktur gespeichert wird. |
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 in 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
Zeiger auf den Puffer, in dem die abgerufenen Registrierungsinformationen gemeldet werden sollen.
BufferLength
Zeiger auf eine ULONG, die die Größe der zurückgegebenen Registrierungsdaten in Bytes enthält.
Rückgabewert
StorPortRegistryRead gibt den booleschen Wert TRUE zurück, wenn die Daten, auf die von ValueName verwiesen wird, erfolgreich in ASCII konvertiert und in den Puffer kopiert wurden. Diese Routine gibt false im Fehlerfall zurück.
Hinweise
Wenn StorPortRegistryReadfalse mit einem nonzero-Wert im BufferLength-Parameter zurückgibt, war der übergebene Puffer zu klein, und der BufferLength-Parameter spiegelt die richtige Puffergröße wider, die verwendet werden sollte. Wenn die Routine FALSE zurückgibt und der BufferLength-Parameter auf null festgelegt ist, ist ein weiterer Fehler aufgetreten.
Der in dieser Routine verwendete Puffer wird durch Aufrufen von StorPortAllocateRegistryBuffer und durch Aufrufen von StorPortFreeRegistryBuffer zugewiesen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | storport.h (einschließlich Storport.h) |
Bibliothek | Storport.lib |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | StorPortIrql(storport) |