RtlEthernetStringToAddressA 函式 (ip2string.h)
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。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | 描述 |
---|---|
|
無效的參數已傳遞至函式。 如果 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 應用程式] |
目標平臺 | 窗戶 |
標頭 | ip2string.h (include Mstcpip.h, Ip2string.h) |
連結庫 | ntdll.lib |
DLL | ntdll.dll |