> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XAppBroadcastRegisterIsAppBroadcastingChanged

> XAppBroadcastRegisterIsAppBroadcastingChanged

# XAppBroadcastRegisterIsAppBroadcastingChanged

Register an app broadcast status change event handler.

## Syntax

```cpp theme={null}
HRESULT XAppBroadcastRegisterIsAppBroadcastingChanged(  
         XTaskQueueHandle queue,  
         void* context,  
         XAppBroadcastMonitorCallback* appBroadcastMonitorCallback,  
         XTaskQueueRegistrationToken* token  
)  
```

### Parameters

*queue*   \_In\_opt\_\
Type: XTaskQueueHandle

Optional XTaskQueueHandle where a user can create their own callback to be executed from this queue.

*context*   \_In\_opt\_\
Type: void\*

Optional information to be passed to the callback function.

*appBroadcastMonitorCallback*   \_In\_\
Type: XAppBroadcastMonitorCallback\*

Callback on the status of whether you can broadcast or not changes. Games may use this to know whether or not it is safe to enable showing the broadcast UI.

*token*   \_Out\_\
Type: XTaskQueueRegistrationToken\*

Broadcast token.

### Return value

Type: HRESULT

Function result.

## Remarks

<Note>This function isn't safe to call on a time-sensitive thread. For more information, see [Time-sensitive threads](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Each call to **AppBroadcastRegisterIsAppBroadcastingChanged** should be followed by a call to [XAppBroadcastUnregisterIsAppBroadcastingChanged](/reference/system/xappcapture/functions/xappbroadcastunregisterisappbroadcastingchanged) when the event handler is no longer needed. Failing to call the unregister function will cause memory leaks to occur. This function will register a second function, the [XAppBroadcastMonitorCallback](/reference/system/xappcapture/functions/xappbroadcastmonitorcallback), which will be called when the status of the app broadcast changed.

## Requirements

**Header:** XAppCapture.h

**Library:** xgameruntime.lib

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

## Conceptual documentation

* [Time-sensitive threads](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## See also

[GameDVR Overview](/build/console-features/game-dvr/gamedvr-broadcast)\
[XAppCapture Members](/reference/system/xappcapture/xappcapture_members)\
[XAppBroadcastUnregisterIsAppBroadcastingChanged](/reference/system/xappcapture/functions/xappbroadcastunregisterisappbroadcastingchanged)\
[XAppBroadcastMonitorCallback](/reference/system/xappcapture/functions/xappbroadcastmonitorcallback)


## Related topics

- [XAppBroadcastUnregisterIsAppBroadcastingChanged](/reference/system/xappcapture/functions/xappbroadcastunregisterisappbroadcastingchanged.md)
- [XAppBroadcastMonitorCallback](/reference/system/xappcapture/functions/xappbroadcastmonitorcallback.md)
- [XAppCapture](/reference/system/xappcapture/xappcapture_members.md)
- [XTaskQueueRegistrationToken](/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)
- [Unity C# API wrappers for the GDK](/build/gdk-and-engines/unity/unity-api-wrappers.md)
