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) |