XGameStreamingGetClientIPAddress
이 API는 xbox 게임 스트리밍 서비스를 통해 콘텐츠를 스트리밍하는 데 사용되는 최종 사용자 클라이언트 장치의 IP 주소를 반환합니다. 이 API 및 관련 정보는 최종 사용자에게 정보 수집을 알리는 것과 관련하여 Microsoft 표준 개인 정보 보호 지침을 준수하는 경우에만 사용해야 합니다. 이 API의 규정 준수 사용에 대한 질문이나 우려 사항이 있는 경우 Microsoft 담당자에게 문의하세요.
구문
HRESULT XGameStreamingGetClientIPAddress(
XGameStreamingClientId client,
size_t ipAddressSize,
char* ipAddress
)
매개 변수
client _In_
형식: XGameStreamingClientId
쿼리 중인 스트리밍 클라이언트입니다.
ipAddressSize _In_
형식: size_t
제공 중인 ipAddress
버퍼의 최대 크기입니다. 일반적으로 이 값은 clientIPAddressMaxBytes여야 합니다.
ipAddress _Out_writes_z_(ipAddressSize)
형식: char*
지정된 클라이언트의 IP 주소로 채워질 버퍼입니다.
반환 값
형식: HRESULT
성공한 경우 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다.
잠재적인 오류
오류 코드 | 오류 값 | 오류 발생 원인 |
---|---|---|
E_GAMESTREAMING_NOT_INITIALIZED | 0x89245400 | XGameStreaming 런타임이 아직 초기화되지 않았습니다. 다른 API를 호출하기 전에 XGameStreamingInitialize를 호출합니다. |
E_GAMESTREAMING_CLIENT_NOT_CONNECTED | 0x89245401 | 지정된 클라이언트가 연결되어 있지 않습니다. |
E_GAMESTREAMING_NO_DATA | 0x89245402 | 요청한 데이터를 사용할 수 없습니다. 나중에 데이터를 사용할 수 있습니다. |
E_NOT_SUFFICIENT_BUFFER | 0x7A | ipAddress는 IP 주소와 null 종료 문자를 포함하기에는 크기가 부족합니다. |
오류 코드 목록은 오류 코드를 참조하세요.
설명
ipAddress
은(는) IPv4 주소(1.2.3.4) 또는 IPv6 주소(1:2:3:4:5:6:7:8)일 수 있습니다.
ParseNetworkString을(를) 사용하여 원하는 경우 문자열을 구문 분석할 수 있습니다.
반환된 IP 주소는 Xbox가 스트리밍 클라이언트로부터 받은 주소입니다. 스트리밍 클라이언트가 VPN을 사용 중이거나 NAT 뒤에 있는 경우 지리적 위치의 IP 주소를 활용하는 데 문제가 있을 수 있습니다.
참고 항목
개인 IP 주소는 스트리밍 클라이언트와 Xbox가 동일한 개인 네트워크에 있는 개발 또는 원격 플레이 시나리오 중에 반환될 수 있습니다.
예
void GameStreamingClientManager::GetClientIPAddress(XGameStreamingClientId client)
{
// Create the output buffer for the IP address
char ipAddress[ClientIPAddressMaxBytes];
// Get the IP address of the client
HRESULT hr = XGameStreamingGetClientIPAddress(client, ClientIPAddressMaxBytes, ipAddress);
if (SUCCEEDED(hr))
{
// Game logic to use IP address
}
else if (hr == E_GAMESTREAMING_CLIENT_NO_DATA)
{
// Game logic handles no data on client case
}
else
{
// In case of error just log and proceed as if there was no data
LogFormat(L"XGameStreamingGetClientIPAddress failed %x", hr);
}
}
요구 사항
헤더: xgamestreaming.h
라이브러리: xgameruntime.lib
지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔