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

# XMemVirtualQuery

> XMemVirtualQuery

# XMemVirtualQuery

Récupère des informations sur une plage de pages dans l'espace d'adressage virtuel du processus appelant.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
BOOL XMemVirtualQuery(  
         HANDLE Process,  
         PVOID Address,  
         PXMEM_BASIC_INFORMATION Buffer  
)  
```

<a id="parametersSection" />

### Paramètres

*Process*   \_In\_\
Type : HANDLE

Handle de processus, généralement obtenu en appelant [GetCurrentProcess](https://learn.microsoft.com/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess).

*Address*   \_In\_opt\_\
Type : PVOID

Pointeur vers l'adresse de base de la région de pages à interroger. Cette valeur est arrondie à la limite de page inférieure. Si ce paramètre est défini à une adresse supérieure à l'adresse mémoire la plus élevée accessible au processus, la fonction échoue avec un code d'erreur défini à **ERROR\_INVALID\_PARAMETER**.

*Buffer*   \_Out\_\
Type : PXMEM\_BASIC\_INFORMATION

Pointeur vers une structure [XMEM\_BASIC\_INFORMATION](/fr-CA/reference/system/xmem/structs/xmem_basic_information) dans laquelle les informations sur la plage de pages spécifiée sont retournées.

<a id="retvalSection" />

### Valeur de retour

Type : BOOL

Retourne `TRUE` en cas de réussite; sinon, `FALSE`. Pour obtenir des informations d'erreur détaillées, appelez [GetLastError](https://msdn.microsoft.com/library/windows/desktop/ms679360\(v=vs.85\).aspx).

<a id="remarksSection" />

## Remarques

Les outils peuvent passer le handle d'un processus distant afin d'interroger le titre depuis l'extérieur du processus actuel.

Si la région de mémoire interrogée a une balise facultative de code à quatre caractères qui lui est associée, la balise est incluse dans le champ `TagFourCC` et encodée sous forme de représentation 24 bits dans le champ `TagCode` de la structure `XMEM_BASIC_INFORMATION` retournée dans `Buffer`. Sinon, le champ `TagFourCC` est rempli de valeurs NULL et le champ `TagCode` doit être ignoré. Pour plus d'informations sur les balises, consultez [XMemVirtualAlloc](/fr-CA/reference/system/xmem/functions/xmemvirtualalloc).

Exemple : pour calculer l'utilisation totale de la mémoire allouée par un appel direct à 'XMemVirtualAlloc', une combinaison de 'XMemSetOption' et de 'XMemVirtualQuery' est nécessaire.

```cpp theme={null}
// To enable commit tracking
XMEM_OPTION option;
option.Option = eXMEMOPT_XMEMALLOCDEFAULT_TAG_VIRTUALALLOC;
option.u.Bool = TRUE;
XMemSetOption(option);

// To query the total commit
SIZE_T address = 0;
SIZE_T commitSize = 0;
XMEM_BASIC_INFORMATION info; = {};
while (XMemVirtualQuery(GetCurrentProcess(), (PVOID)address, &info))
{
        if ((info.State & MEM_COMMIT) &&
                (*(PDWORD)(info.TagFourCC) == *(PDWORD)("XmVA"))) {

                commitSize += info.RegionSize;
        }

        address += info.RegionSize;
}
```

<a id="requirementsSection" />

## Configuration requise

**En-tête :** xmem.h

**Bibliothèque :** xmem.lib

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

<a id="seealsoSection" />

## Voir aussi

[XMEM\_BASIC\_INFORMATION](/fr-CA/reference/system/xmem/structs/xmem_basic_information)\
[XMem](/fr-CA/reference/system/xmem/xmem_members)


## Related topics

- [XMemVirtualQuery](/reference/system/xmem/functions/xmemvirtualquery.md)
- [Working with the Microsoft GDK Game OS memory manager](/build/console-features/memory/system-memory-working.md)
- [Trabajo con el administrador de memoria del sistema operativo de juego del Microsoft GDK](/es/build/console-features/memory/system-memory-working.md)
- [使用 Microsoft GDK 游戏 OS 内存管理器](/zh-CN/build/console-features/memory/system-memory-working.md)
- [Microsoft GDK Game OS 메모리 관리자 사용](/ko/build/console-features/memory/system-memory-working.md)
