APIs needed to initialize the game streaming capabilities.

Function Description
XGameStreamingInitialize Initalizes the Game Streaming APIs.
XGameStreamingUninitialize Uninitializes the Game Streaming APIs.

Client Properties

APIs to get properties of the streaming devices or their game stream


Function Description
XGameStreamingClientPropertiesChangedCallback Notification when a streaming device's properties have changed.
XGameStreamingGetClientIPAddress Gets the IP address of the streaming client.
XGameStreamingGetDisplayDetails Gets the display details of the streaming client.
XGameStreamingGetSessionId Gets the session id of the streaming client.
XGameStreamingGetStreamPhysicalDimensions Gets the physical size of the video stream as it is currently being rendered on the streaming client.
XGameStreamingGetTouchBundleVersion Gets the version of the touch adaptation bundle that is currently being utilized on the specified device.
XGameStreamingGetTouchBundleVersionNameSize Gets the size of the version name specified in the touch adaptation bundle on the specfied device.
XGameStreamingIsTouchInputEnabled Check if a client will send touch inputs to the game.
XGameStreamingRegisterClientPropertiesChanged Registers a callback to be invoked when any of the streaming client device's properties change.
XGameStreamingUnregisterClientPropertiesChanged Unregisters a previously registered XGameStreamingClientPropertiesChangedCallback.


Enumeration Description
XGameStreamingClientProperty Properties that can be queried for about the client streaming device.
XGameStreamingVideoFlags Available video features that may be supported by the client streaming device.


Structures Description
XGameStreamingDisplayDetails Details about the display of the streaming client device.

Connection State

APIs needed to manage the connection state of streaming client devices.


Function Description
XGameStreamingConnectionStateChangedCallback A callback function to be invoked whenever the state of a connected streaming client changes.
XGameStreamingGetClientCount Number of streaming devices currently connected.
XGameStreamingGetClients Gets the identifiers of each currently connected client.
XGameStreamingGetConnectionState Gets the current connection state for specified device.
XGameStreamingIsStreaming Determine if the game is currently being streamed.
XGameStreamingRegisterConnectionStateChanged Registers a callback to be invoked when a streaming client device's connection state changes.
XGameStreamingUnregisterConnectionStateChanged Unregisters a previously registered XGameStreamingConnectionStateChangedCallback.


Enumeration Description
XGameStreamingConnectionState Connection states for a streaming client device.


APIs for adapting gameplay for streaming latency.


Function Description
XGameStreamingGetStreamAddedLatency Gets the recent average of the streaming related latency.
XGameStreamingGetLastFrameDisplayed Gets the frame pipeline token for the frame that was most recently displayed on the streaming client's screen.
XGameStreamingGetAssociatedFrame Gets the frame pipeline token from a specific input reading.

Server Location

APIs to access the location that the game is being streamed from.


Function Description
XGameStreamingGetServerLocationName Gets the streaming server's data center location.
XGameStreamingGetServerLocationNameSize Gets the size of the name of the location of the streaming server's data center

Touch Adaptation

APIs to manage the touch controller layouts that will be exposed to appropriate streaming clients.


Function Description
XGameStreamingGetGamepadPhysicality Gets the input physicality mapping from a specific gamepad reading.
XGameStreamingHideTouchControls Request that all connected streaming client devices hide the touch layout if they are visible.
XGameStreamingHideTouchControlsOnClient Request that a specified streaming client devices hide the touch layout if they are visible.
XGameStreamingShowTouchControlLayout Request that all connected streaming client devices show a specified the touch layout.
XGameStreamingShowTouchControlLayoutOnClient Request a specified connected streaming client devices show a specified the touch layout.
XGameStreamingShowTouchControlsWithStateUpdate Request that all connected streaming client devices update their touch control state and then show a specified the touch layout.
XGameStreamingShowTouchControlsWithStateUpdateOnClient Request that a specified streaming client devices update their touch control state and then show a specified the touch layout.
XGameStreamingUpdateTouchControlsState Update touch controls state on all connected streaming client devices.
XGameStreamingUpdateTouchControlsStateOnClient Update touch controls state on a specified streaming client device.


Enumeration Description
XGameStreamingGamepadPhysicality Physicality mapping for all the buttons, sticks and triggers on a standard Xbox Wireless Controller. For any given button/stick/trigger, physicality can be unknown, physical, virtual, or both.
XGameStreamingTouchControlsStateOperationKind Operations that can be taken when updating touch control layout state.
XGameStreamingTouchControlsStateValueKind Specifies the type of the state that is associated with the touch layouts.


Structures Description
XGameStreamingTouchControlsStateOperation Specifies the operation, path to the specific variable and value to be applied.
XGameStreamingTouchControlsStateValue Provides the type and value of a specific element of touch control state.


APIs to manage the stream's resolution.


Function Description
XGameStreamingSetResolution Sets the resolution of the video stream.