(ip2string.h) RtlEthernetStringToAddressA 函式
RtlEthernetStringToAddress 函式會將乙太網路 MAC 位址的字串表示轉換為乙太網路位址的二進位格式。
語法
NTSYSAPI NTSTATUS RtlEthernetStringToAddressA(
[in] PCSTR S,
[out] PCSTR *Terminator,
[out] DL_EUI48 *Addr
);
參數
[in] S
緩衝區的指標,其中包含乙太網路 MAC 位址的 NULL 終止字串表示。
[out] Terminator
參數,接收終止已轉換字串之字元的指標。 呼叫端可以使用此功能,從字串擷取更多資訊。
[out] Addr
要儲存乙太網路 MAC 位址的二進位表示法的指標。
傳回值
如果函式成功,傳回值會 STATUS_SUCCESS。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
|
無效的參數已傳遞至 函式。 如果 S 參數指向的字串未包含乙太網路 MAC 位址的適當字串表示,就會傳回此錯誤。
此錯誤碼定義於 Ntstatus.h 頭檔中。 |
|
使用 FormatMessage 取得傳回錯誤的訊息字串。 |
備註
RtlEthernetStringToAddress 函式可用來將乙太網路 EUI-48 數據連結層位址的字串表示轉換成乙太網路位址的二進位格式 (也稱為 MAC 位址) 。 字串代表以非 DIX 標準 “-'' 表示法表示的數值乙太網络位址。 傳回的值是適合用來作為乙太網路位址的數位。 所有乙太網路位址都會以網路順序傳回, (位元組從左至右排序) 。
S 參數所指向的字串必須以非 DIX 標準 “-” 表示法中以乙太網路 MAC 位址字串的格式表示。 乙太網路 MAC 位址的基本字串表示包含 6 對十六進位數位,以連字元分隔 (F4-CE-46-2D-90-8C,例如) 。
成功時, 終止符 參數會指向終止已轉換字串的字元。 這可讓應用程式傳遞包含乙太網路位址的字串,並將其他資訊傳遞給 RtlEthernetStringToAddress 函式,然後剖析其餘資訊。
RtlEthernetStringToAddress 是一個便利函式,不需要載入 Windows Sockets DLL 才能存取 Windows Sockets 中提供的函式,以執行字元串到乙太網路地址轉換。
定義 UNICODE 或_UNICODE時, 會將 RtlEthernetStringToAddress 定義為 RtlEthernetStringToAddressW,這是此函式的 Unicode 版本。 S 和終止符參數會定義至 PCWSTR 資料類型。
未定義 UNICODE 和_UNICODE時, RtlEthernetStringToAddress 會定義為 RtlEthernetStringToAddressA,這是此函式的 ANSI 版本。 S 和終止符參數會定義至 PCSTR 資料類型。
DL_EUI48數據類型定義於 Mstcpip.h 頭檔中。
注意
ip2string.h 標頭會根據 UNICODE 預處理器常數的定義,將 RtlEthernetStringToAddress 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | ip2string.h (包含 Mstcpip.h、Ip2string.h) |
程式庫 | ntdll.lib |
Dll | ntdll.dll |