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

# get_thread_processor

> chat_manager::get_thread_processor

Retrieves the current processor on which internal Game Chat threads will run or are running.

## Syntax

```cpp theme={null}
void get_thread_processor(  
    game_chat_thread_id threadId,  
    uint32_t* processorNumber  
)  
```

### Parameters

*threadId*   \_In\_\
Type: [game\_chat\_thread\_id](https://docs.xbox.com/reference/chat/gamechat2/enums/game_chat_thread_id.md)

The type of internal Game Chat thread for which processor affinity should be retrieved.\
The internal thread to retrieve the process number for.

*processorNumber*   \_Out\_\
Type: uint32\_t\*

A place to store the zero-based processor number on which the internal Game Chat threads will run or are running.

### Return value

Type: void

## Remarks

This retrieves the current processor affinity for internal Game Chat threads of a given type.

This method does not require chat\_manager::initialize() to have been called first.

A reported value of `c_anyProcessorNumber` written to *processorNumber* indicates that the thread is free to run on any processor.

> [!NOTE]
>
> `c_anyProcessorNumber` is a `constexpr uint32_t` with a value of 0xFFFFFFFF.

> [!NOTE]
>
> This call will result in a fatal failure if a prior call to [chat\_manager::set\_thread\_affinity\_mask](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_affinity_mask.md) has configured the Game Chat internal threads specified by *threadID* to run on more than one processor. In that case, [chat\_manager::get\_thread\_affinity\_mask](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_thread_affinity_mask.md) should be used instead.

## Requirements

**Header:** GameChat2.h

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

## See also

[chat\_manager](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/chat_manager.md)\
[game\_chat\_thread\_id](https://docs.xbox.com/reference/chat/gamechat2/enums/game_chat_thread_id.md)\
[chat\_manager::set\_thread\_processor](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_processor.md)


## Related topics

- [set_thread_processor](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_processor.md)
- [game_chat_thread_id](https://docs.xbox.com/reference/chat/gamechat2/enums/game_chat_thread_id.md)
- [initialize](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_initialize.md)
- [get_thread_affinity_mask](https://docs.xbox.com/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_get_thread_affinity_mask.md)
- [PartyManager::GetThreadAffinityMask](https://docs.xbox.com/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getthreadaffinitymask.md)
