Funzione NdisReadNetworkAddress (ndis.h)
La funzione NdisReadNetworkAddress restituisce l'indirizzo di rete configurabile dal software archiviato nel Registro di sistema per una scheda di interfaccia di rete quando è stata installata nel computer.
Sintassi
void NdisReadNetworkAddress(
[out] PNDIS_STATUS Status,
[out] PVOID *NetworkAddress,
[out] PUINT NetworkAddressLength,
[in] NDIS_HANDLE ConfigurationHandle
);
Parametri
[out] Status
Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce lo stato della chiamata come una delle seguenti:
NDIS_STATUS_SUCCESS
Il chiamante può usare l'indirizzo restituito in NetworkAddress per la scheda di interfaccia di rete.
NDIS_STATUS_FAILURE
Non sono state disponibili informazioni sull'indirizzo della scheda di interfaccia di rete nella chiave parametri del Registro di sistema del chiamante o il valore archiviato non è una stringa.
[out] NetworkAddress
Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce un puntatore a un buffer che contiene l'indirizzo di rete (in genere l'indirizzo MAC), archiviato come sequenza di interi di byte, se la chiamata ha esito positivo.
[out] NetworkAddressLength
Puntatore a una variabile fornita dal chiamante in cui questa funzione restituisce il numero di byte restituiti in NetworkAddress.
[in] ConfigurationHandle
Handle di configurazione restituito dall'oggetto Funzione NdisOpenConfigurationEx .
Valore restituito
nessuno
Osservazioni
NdisReadNetworkAddress cerca la chiave dei parametri del Registro di sistema designata dalla parola chiave ConfigurationHandle per la parola chiave NetworkAddress, converte il valore di questa voce di tipo stringa in una sequenza di interi byte e archivia le informazioni richieste internamente. L'archiviazione allocata da NDIS per tale indirizzo rimane valida finché il driver miniport chiama la funzione NdisCloseConfiguration , che libera la memoria.
Il chiamante non può usare la variabile in NetworkAddress come puntatore a meno che NdisReadNetworkAddress restituisce NDIS_STATUS_SUCCESS in Stato.
Il programma di installazione per una scheda di interfaccia di rete che supporta l'indirizzamento di rete configurabile dal software deve archiviare una voce di valore denominata con la parola chiave NetworkAddress nella classe HKLM\System\CurrentControlSet\Control\Class{4d36e972...} \00xx chiave del Registro di sistema.
Un programma di installazione della scheda di interfaccia di rete archivia in genere il valore di una voce NetworkAddress nel Registro di sistema come stringa di cifre esadecimali. Facoltativamente, un programma di installazione può archiviare un indirizzo come una stringa di cifre abbinate, con ogni coppia separata dalla successiva da un trattino. NdisReadNetworkAddress rimuove i trattini e converte ogni coppia in un singolo byte.
In entrambi i moduli NdisReadNetworkAddress converte l'indirizzo specificato come stringa, un carattere alla volta, nell'intero equivalente finché la stringa non viene esaurita.
Nel Registro di sistema di Windows 2000 e versioni successive, tale stringa di indirizzo installata contiene caratteri Unicode.
Si noti che NDIS non convalida il valore in NetworkAddress. NDIS non garantisce che questo valore sia un indirizzo valido, che il valore abbia la lunghezza corretta o anche che il valore sia un indirizzo di rete. Il chiamante di NdisReadNetworkAddress non deve quindi effettuare ipotesi su questo valore e deve convalidare il valore. Se il chiamante determina che il valore non è associato, non deve usare il valore; deve invece usare l'indirizzo MAC (Permanent Medium Access Control) o un indirizzo predefinito.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato per i driver NDIS 6.0 e versioni successive in Windows Vista e versioni successive. Supportato per i driver NDIS 5.1 (vedere NdisReadNetworkAddress (NDIS 5.1) in Windows XP e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (includere Ndis.h) |
Libreria | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | Irql_Miscellaneous_Function(ndis) |