Funzione StorPortRegistryRead (storport.h)

La routine StorPortRegistryRead legge i dati del Registro di sistema per il dispositivo e il valore indicati.

Sintassi

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

Parametri

HwDeviceExtension

Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione per hba che il driver di porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche di HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati per l'HBA. Questa area è disponibile per il driver miniport subito dopo che il driver miniport chiama StorPortInitialize. Il driver della porta libera questa memoria quando rimuove il dispositivo. Il driver miniport deve essere in esecuzione in IRQL PASSIVE_LEVEL quando chiama questa routine.

ValueName

Puntatore a un UCHAR che specifica il nome del valore del Registro di sistema il cui contenuto deve essere letto.

Global

Indica, se diverso da zero, che il driver della porta legge il contenuto del valore del Registro di sistema specificato da ValueName nella sottochiave Parameters\Device. I valori in Chiave dispositivo si applicano a tutti gli adattatori nel sistema. Quando globale è zero, il driver di porta legge il contenuto del valore del Registro di sistema specificato da ValueName nella sottochiave Parameters\Device(d), dove (d) è un valore decimale che corrisponde al numero di porta di una determinata scheda. In questo caso, i dati recuperati sono specifici dell'adattatore.

Type

Indica il tipo di dati del valore del Registro di sistema. Questo parametro deve avere uno dei valori nella tabella seguente.

Tipo di dati del valore del Registro di sistema Significato
REG_NONE Nessun tipo di dati specificato.
REG_SZ Indica un stringa Unicode con terminazione NULL.
REG_EXPAND_SZ Indica un NULLstringa Unicode con terminazione che include variabili di ambiente che devono essere espanse per ottenere la stringa completa. Ad esempio, un nome di percorso potrebbe essere archiviato come stringa seguente: "%USERPROFILE%\Application Data ". In questo esempio, la variabile di ambiente USERPROFILE deve essere espansa per ottenere il percorso effettivo.
REG_BINARY Indica dati binari non elaborati.
REG_DWORD Indica un valore di parola doppia a 32 bit.
REG_DWORD_LITTLE_ENDIAN Indica un valore di parola doppia a 32 bit, in ordine little-endian. Questo è identico a REG_DWORD.
REG_DWORD_BIG_ENDIAN Indica un valore di parola doppia a 32 bit, in ordine big-endian.
REG_LINK Indica una stringa Unicode contenente un collegamento simbolico.
REG_MULTI_SZ Indica una serie di stringhe NULLcon terminazione.
REG_RESOURCE_LIST Indica che il valore del Registro di sistema contiene un elenco di risorse hardware, noto anche come "mappa delle risorse hardware", archiviato nel HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap hive.
REG_FULL_RESOURCE_DESCRIPTOR Indica che il valore del Registro di sistema contiene una descrizione delle risorse hardware archiviate nel HKEY_LOCAL_MACHINE\HARDWARE\Description hive.
REG_RESOURCE_REQUIREMENTS_LIST Indica che il valore del Registro di sistema contiene un elenco di requisiti di risorse hardware archiviati nell'albero HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_QWORD Indica che il valore del Registro di sistema contiene un numero a 64 bit.
REG_QWORD_LITTLE_ENDIAN Indica che il valore del Registro di sistema contiene un numero a 64 bit. Si tratta dello stesso tipo di dati di REG_QWORD.

Buffer

Puntatore al buffer in cui devono essere segnalate le informazioni del Registro di sistema recuperate.

BufferLength

Puntatore a una ULONG contenente le dimensioni, in byte, dei dati del Registro di sistema restituiti.

Valore restituito

StorPortRegistryRead restituisce un valore booleano di true se i dati a cui punta ValoreName vengono convertiti correttamente in ASCII e copiati nel buffer. Questa routine restituisce FALSE in caso di errore.

Osservazioni

Se StorPortRegistryRead restituisce false con un valore diverso da zero nel parametro BufferLength, il buffer passato era troppo piccolo e il parametro BufferLength riflette le dimensioni corrette del buffer da usare. Se la routine restituisce false con il parametro bufferlength impostato su zero, si è verificato un altro errore.

Il buffer usato in questa routine viene allocato chiamando StorPortAllocateRegistryBuffer e liberato chiamando StorPortFreeRegistryBuffer.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione storport.h (include Storport.h)
libreria Storport.lib
IRQL PASSIVE_LEVEL
regole di conformità DDI storPortIrql(storport)

Vedere anche

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize