共用方式為


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)

另請參閱

NdisCloseConfiguration

NdisOpenConfigurationEx