共用方式為


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

如果函式失敗,傳回值就是下列其中一個錯誤碼。

傳回碼 描述
STATUS_INVALID_PARAMETER
無效的參數已傳遞至函式。 如果 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

另請參閱

RtlEthernetAddressToString