다음을 통해 공유


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 콘솔

참고 항목

XGameStreaming