次の方法で共有


XGameStreamingGetStreamPhysicalDimensions

ストリーミング クライアントでレンダリングされているビデオ ストリームの物理サイズを取得します。

構文

HRESULT XGameStreamingGetStreamPhysicalDimensions(
         XGameStreamingClientId client,
         uint32_t* horizontalMm,
         uint32_t* verticalMm
)

パラメーター

client _In_
型: XGameStreamingClientId

物理サイズが照会されるクライアント。

horizontalMm _Out_
型: uint32_t*

ビデオ ストリームの水平軸のサイズ (ミリメートル単位)。

verticalMm _Out_
型: uint32_t*

ビデオ ストリームの垂直軸のサイズ (ミリメートル単位)。

戻り値

型: HRESULT

成功した場合は S_OK を返し、それ以外の場合はエラー コードを返します。

返される可能性のあるエラー

エラー コード エラー値 エラーの原因
E_GAMESTREAMING_NOT_INITIALIZED 0x89245400 XGameStreaming ランタイムが初期化されていません。 他の API を呼び出す前に XGameStreamingInitialize を呼び出してください。
E_GAMESTREAMING_CLIENT_NOT_CONNECTED 0x89245401 指定されたクライアントが接続されていません。
E_GAMESTREAMING_NO_DATA 0x89245402 要求されたデータは利用できません。 データは後で利用可能になる場合があります。

エラー コードの一覧については、「エラー コード」をご覧ください。

解説

この方法を使用して、ストリームをより小さなデバイス (スマートフォンなど) に送信するかどうかを決定できます。

これにより、デバイスサイズに基づいて、よりプレイヤーにわかりやすいデバイスの適切なエクスペリエンス(たとえば、より大きなフォント サイズを使用して)を表示できます。

ストリームの物理的なサイズが変更されたときにゲームで応答するには、XGameStreamingRegisterClientPropertiesChanged を使ってコールバックを登録する必要があります。

次のコード例は、XGameStreamingGetStreamPhysicalDimensions 関数を使用してストリーミング クライアントの最小サイズを見つける方法を示しています。

void GetSmallestStreamingClient(uint32_t& widthMm, uint32_t& heightMm)
    {
        // If we don't know what the smallest client is, then search through them to find it
        if (m_smallestClient == XGameStreamingNullClientId)
        {
            for (const auto client : m_streamingClients)
            {
                if (client.clientId != XGameStreamingNullClientId)
                {
                    uint32_t clientWidthMm = 0;
                    uint32_t clientHeightMm = 0;
                    if (SUCCEEDED(XGameStreamingGetStreamPhysicalDimensions(client.clientId, &clientWidthMm, &clientHeightMm)))
                    {
                        if (clientWidthMm < m_smallestClientWidthMm)
                        {
                            m_smallestClientWidthMm = clientWidthMm;
                            m_smallestClientHeightMm = clientHeightMm;
                        }
                    }
                }
            }
        }

        widthMm = m_smallestClientWidthMm;
        heightMm = m_smallestClientHeightMm;
    }

要件

ヘッダー: xgamestreaming.h

ライブラリ: xgameruntimelib

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

XGameStreaming
XGameStreamingRegisterClientPropertiesChanged
XGameStreaming