NdisReadNetworkAddress 函式 (ndis.h)
NdisReadNetworkAddress 函式會傳回在電腦上安裝 NIC 時儲存在登錄中的軟體可設定網路位址。
語法
void NdisReadNetworkAddress(
[out] PNDIS_STATUS Status,
[out] PVOID *NetworkAddress,
[out] PUINT NetworkAddressLength,
[in] NDIS_HANDLE ConfigurationHandle
);
參數
[out] Status
呼叫端提供的變數指標,在此變數中,此函式會將呼叫的狀態傳回為下列其中一項:
NDIS_STATUS_SUCCESS
呼叫端可以使用 NIC NetworkAddress 傳回的位址。
NDIS_STATUS_FAILURE
呼叫端的登錄中沒有 NIC 位址資訊,參數 機碼或儲存的值不是字串。
[out] NetworkAddress
呼叫端提供的變數指標,如果呼叫成功,此函式會傳回包含網路位址的緩衝區指標(通常是 MAC 位址),儲存為位元組整數序列。
[out] NetworkAddressLength
呼叫端提供的變數指標,在此變數中,此函式會傳回 NetworkAddress 所傳回的位元組數目,。
[in] ConfigurationHandle
傳回的組態句柄 NdisOpenConfigurationEx 函式。
傳回值
沒有
言論
NdisReadNetworkAddress 會搜尋指定之 ConfigurationHandle 指定之關鍵詞 參數 登錄,NetworkAddress,將這個字元串類型專案的值轉換成位元組整數序列,並在內部儲存要求的資訊。 NDIS 為這類位址配置的記憶體會維持有效狀態,直到迷你埠驅動程式呼叫 NdisCloseConfiguration 函式,以釋放記憶體。
除非 NdisReadNetworkAddress 傳回 StatusNDIS_STATUS_SUCCESS,否則呼叫端無法在 NetworkAddress 使用 變數作為指標。
支援軟體設定網路尋址之 NIC 的安裝程式應該會在 HKLM\System\CurrentControlSet\Control\Class{4d36e972...} 中,使用 NetworkAddress 關鍵詞來儲存名為 的值專案\00xx 登錄機碼。
NIC 安裝程式通常會將登錄中 NetworkAddress 專案的值儲存為十六進位數位字串。 選擇性地,安裝程式可以將這類位址儲存為成對數位字串,每個配對都會以連字元隔開。 NdisReadNetworkAddress 捨棄連字元,並將每個這類配對轉換成單一位元組。
在任一形式中,NdisReadNetworkAddress 將指定為字串的位址,一次一個字元轉換成相等的整數,直到字符串用盡為止。
在 Windows 2000 和更新版本的登錄中,這類已安裝的位址字串包含 Unicode 字元。
請注意,NDIS 不會在 NetworkAddress驗證值。 NDIS 不保證此值是有效的位址、值具有適當的長度,甚至是值是網路位址。 因此,NdisReadNetworkAddress 的呼叫者不得對此值進行任何假設,而且必須自行驗證該值。 如果呼叫端判斷值超出界限,則不應該使用 值;相反地,它應該使用永久媒體訪問控制 (MAC) 位址或預設位址。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 支援 Windows Vista 和更新版本中的 NDIS 6.0 和更新版本驅動程式。 支援 NDIS 5.1 驅動程式(請參閱 Windows XP 和更新版本中的 NdisReadNetworkAddress (NDIS 5.1) 。 |
目標平臺 | 普遍 |
標頭 | ndis.h (包括 Ndis.h) |
連結庫 | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | Irql_Miscellaneous_Function(ndis) |