Condividi tramite


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 hbA che il driver di porta alloca e inizializza per conto del driver miniport. I driver miniport in genere archiviano 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 immediatamente dopo che il driver miniport chiama StorPortInitialize. Il driver di 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 valore UCHAR che specifica il nome del valore del Registro di sistema il cui contenuto deve essere letto.

Global

Indica, quando non zero, il driver di porta legge il contenuto del valore del Registro di sistema specificato da ValueName nella sottochiave Parameters\Device. I valori sotto la chiave dispositivo si applicano a tutti gli adattatori nel sistema. Quando Global è 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 della tabella seguente.

Tipo di dati del valore del Registro di sistema Significato
REG_NONE Nessun tipo di dati specificato.
REG_SZ Indica una stringa Unicode con terminazione NULL.
REG_EXPAND_SZ Indica una stringa Unicode con terminazione NULL che include variabili di ambiente che devono essere espanse per ottenere la stringa completa. Ad esempio, un nome del percorso potrebbe essere archiviato come stringa seguente: "%USERPROFILE%\Dati applicazione". In questo esempio, la variabile di ambiente USERPROFILE deve essere espansa per ottenere il nome 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. È 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 con terminazione NULL.
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 nell'hive HKEY_LOCAL_MACHINE\HARDWARE\Description.
REG_RESOURCE_REQUIREMENTS_LIST Indica che il valore del Registro di sistema contiene un elenco di requisiti di risorsa 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 un 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 fa riferimento ValueName vengono convertiti correttamente in ASCII e copiati nel buffer. Questa routine restituisce FALSE in caso di errore.

Commenti

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 del buffer corrette che devono essere usate. 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.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione Storport.h (include Storport.h)
Libreria Storport.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI StorPortIrql(storport)

Vedi anche

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize