共用方式為


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

呼叫端可以使用 在 NetworkAddress 傳回的 NIC 位址。

NDIS_STATUS_FAILURE

呼叫端的登錄 Parameters 機碼中沒有可用的NIC位址資訊,或儲存的值不是字串。

[out] NetworkAddress

呼叫端所提供變數的指標,如果呼叫成功,此函式會傳回緩衝區的指標,其中包含網路位址 (通常儲存為位元組整數序列的 MAC 位址) 。

[out] NetworkAddressLength

呼叫端提供的變數指標,此變數會傳回 NetworkAddress 所傳回的位元組數目。

[in] ConfigurationHandle

傳回的組態句柄 NdisOpenConfigurationEx 函 式。

傳回值

備註

NdisReadNetworkAddress 會搜尋指定 ConfigurationHandle 針對關鍵詞 NetworkAddress 所指定的登錄 Parameters 機碼、將此字元串類型專案的值轉換成位元組整數序列,並在內部儲存要求的資訊。 NDIS 為這類位址配置的記憶體會維持有效狀態,直到迷你埠驅動程式呼叫 NdisCloseConfiguration 函式 ,以釋放記憶體。

除非 NdisReadNetworkAddressStatus 傳回NDIS_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) ) 。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 合規性規則 Irql_Miscellaneous_Function (ndis)

另請參閱

NdisCloseConfiguration

NdisOpenConfigurationEx