Freigeben über


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)

Siehe auch

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize