> ## 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.

# PFMultiplayer C/C++ API overview - PFMatchmaking.h

> Overview of the PFMatchmaking.h header in the PlayFab Multiplayer C/C++ API, listing the functions, structs, and enums used to manage matchmaking tickets.

## Functions

| Function                                                                                                                                                                                                 | Description                                                                                                    |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| [PFMatchmakingTicketCancel](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketcancel)                                                       | Cancels the ticket.                                                                                            |
| [PFMatchmakingTicketGetCustomContext](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetcustomcontext)                                   | Retrieves the app's private, custom pointer-sized context value previously associated with this ticket object. |
| [PFMatchmakingTicketGetMatch](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetmatch)                                                   | Provides the match, if one has been found.                                                                     |
| [PFMatchmakingTicketGetStatus](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetstatus)                                                 | Provides the matchmaking ticket status.                                                                        |
| [PFMatchmakingTicketGetTicketId](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketgetticketid)                                             | Provides the ticket ID.                                                                                        |
| [PFMatchmakingTicketSetCustomContext](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmatchmakingticketsetcustomcontext)                                   | Configures an optional, custom pointer-sized context value with this ticket object.                            |
| [PFMultiplayerCreateMatchmakingTicket](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayercreatematchmakingticket)                                 | Creates a matchmaking ticket for one or more local users.                                                      |
| [PFMultiplayerCreateServerBackfillTicket](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayercreateserverbackfillticket)                           | Creates a server backfill ticket.                                                                              |
| [PFMultiplayerDestroyMatchmakingTicket](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerdestroymatchmakingticket)                               | Destroys the matchmaking ticket.                                                                               |
| [PFMultiplayerFinishProcessingMatchmakingStateChanges](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerfinishprocessingmatchmakingstatechanges) | Returns an array of matchmaking state changes that were being processed.                                       |
| [PFMultiplayerJoinMatchmakingTicketFromId](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerjoinmatchmakingticketfromid)                         | Joins one or more multiple local users to a matchmaking ticket using a ticket ID and queue name.               |
| [PFMultiplayerStartProcessingMatchmakingStateChanges](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerstartprocessingmatchmakingstatechanges)   | Retrieves an array of all matchmaking state changes to process since the last such call.                       |

## Structures

| Structure                                                                                                                                                                                  | Description                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ |
| [PFMatchmakingMatchDetails](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingmatchdetails)                                           | The resulting match information found by a completed ticket. |
| [PFMatchmakingMatchMember](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingmatchmember)                                             | A member of a match result.                                  |
| [PFMatchmakingServerBackfillTicketConfiguration](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingserverbackfillticketconfiguration) | Defines the configuration for a server backfill ticket.      |
| [PFMatchmakingTicketConfiguration](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketconfiguration)                             | Defines the configuration for a matchmaking ticket.          |
| [PFMultiplayerPort](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmultiplayerport)                                                           | A port used by a PlayFab Multiplayer Server.                 |
| [PFMultiplayerServerDetails](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmultiplayerserverdetails)                                         | Details about a PlayFab Multiplayer Server.                  |

## State changes

| State change                                                                                                                                                                         | Description                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| [PFMatchmakingStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingstatechange)                                       | A generic, base structure representation of an event or change in state in the Matchmaking library. |
| [PFMatchmakingTicketCompletedStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketcompletedstatechange)         | Information specific to the *TicketCompleted* type of state change.                                 |
| [PFMatchmakingTicketStatusChangedStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/structs/pfmatchmakingticketstatuschangedstatechange) | Information specific to the *TicketStatusChanged* type of state change.                             |

## Enumerations

| Enumeration                                                                                                                                          | Description                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [PFMatchmakingStateChangeType](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmatchmakingstatechangetype) | The types of state changes that can occur in the Matchmaking library.       |
| [PFMatchmakingTicketStatus](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmatchmakingticketstatus)       | The possible states for a matchmaking ticket.                               |
| [PFMultiplayerProtocolType](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmultiplayerprotocoltype)       | The protocol type used for connecting to a PlayFab Multiplayer Server port. |


## Related topics

- [PFMultiplayer C/C++ API overview - PFMultiplayer.h](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfmultiplayer_members.md)
- [PFMultiplayer C/C++ API overview - PFLobby.h](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members.md)
- [PFMultiplayerCreateMatchmakingTicket](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayercreatematchmakingticket.md)
- [PFMultiplayerDestroyMatchmakingTicket](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerdestroymatchmakingticket.md)
- [PFMultiplayerJoinMatchmakingTicketFromId](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerjoinmatchmakingticketfromid.md)
