Funzione StorPortRegistryRead (storport.h)
La routine StorPortRegistryRead legge i dati del Registro di sistema per il dispositivo e il valore indicati.
BOOLEAN StorPortRegistryRead(
PVOID HwDeviceExtension,
PUCHAR ValueName,
ULONG Global,
ULONG Type,
PUCHAR Buffer,
PULONG BufferLength
);
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.
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.
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.
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | storport.h (include Storport.h) |
libreria | Storport.lib |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | storPortIrql(storport) |