共用方式為


(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
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 應用程式]
目標平台 Windows
標頭 ip2string.h (包含 Mstcpip.h、Ip2string.h)
程式庫 ntdll.lib
Dll ntdll.dll

另請參閱

RtlEthernetAddressToString