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

# PIXCaptureParameters

> PIXCaptureParameters

# PIXCaptureParameters

Parameters for [PIXBeginCapture](/reference/tools/pix3/functions/pixbegincapture).

## Syntax

```cpp theme={null}
union PIXCaptureParameters
{
    enum PIXCaptureStorage
    {
        Memory = 0,
        MemoryCircular = 1, // Xbox only
        FileCircular = 2, // PC only
    };

    struct GpuCaptureParameters
    {
        PCWSTR FileName;
    } GpuCaptureParameters;

    struct TimingCaptureParameters
    {
        PCWSTR FileName;
        UINT32 MaximumToolingMemorySizeMb;
        PIXCaptureStorage CaptureStorage;

        BOOL CaptureGpuTiming;

        BOOL CaptureCallstacks;
        BOOL CaptureCpuSamples;
        UINT32 CpuSamplesPerSecond;

        BOOL CaptureFileIO;

        BOOL CaptureVirtualAllocEvents;
        BOOL CaptureHeapAllocEvents;
        BOOL CaptureXMemEvents; // Xbox only
        BOOL CapturePixMemEvents;
        BOOL CapturePageFaultEvents;
        BOOL CaptureVideoFrames; // Xbox only
    } TimingCaptureParameters;
};

typedef PIXCaptureParameters* PPIXCaptureParameters;
```

### Members

*FileName*\
Type: PWSTR

The file name for the capture on the console.

*MaximumToolingMemorySizeMb*\
Type: UINT32

The maximum number in MB of the buffer in tooling memory that will be used to hold capture data.\
The capture will either stop when the memory buffer is full, or use the tooling memory as a ring buffer, depending on the value of *CaptureStorage*.

*CaptureStorage*\
Type: PIXCaptureStorage

The capture mode.  When set to *Memory* `PIXBeginCapture` will fill up the tooling memory made available, then will discard any new data that comes in.  When set to *MemoryCircular*, `PIXBeginCapture` will use the tooling memory as a ring buffer.  The capture will run until tooling memory is full, but instead of stopping the capture, the oldest data will be aged out to make room for new data.

*CaptureGpuTiming*\
Type: BOOL

Determines whether or not to capture GPU Timing data, including PIX GPU events, GPU work, PIX GPU Markers and API Markers.

*CaptureCallstacks*\
Type: BOOL

Determines whether or not to capture call stacks for context switches.

*CaptureCpuSamples*\
Type: BOOL

Determines whether or not to capture CPU samples.

*CpuSamplesPerSecond*\
Type: UINT32

The number of CPU samples per second to capture.

*CaptureFileIO*\
Type: BOOL

Determines whether or not to capture DirectStorage and Win32 file IO.

*CaptureVirtualAllocEvents*\
Type: BOOL

Determines whether or not to capture virtual allocation events.

*CaptureHeapAllocEvents*\
Type: BOOL

Determines whether or not to capture heap allocation events.

*CaptureXMemEvents*\
Type: BOOL

Determines whether or not to capture XMem allocation events.

*CapturePixMemEvents*\
Type: BOOL

Determines whether or not to capture allocations made with title-defined custom memory allocators.

*CapturePageFaultEvents*\
Type: BOOL

Determines whether or not to capture page fault events.

*CaptureVideoFrames*\
Type: BOOL

Determines whether or not to capture video frames.

## Remarks

This union is used by [PIXBeginCapture](/reference/tools/pix3/functions/pixbegincapture) to start a programmatically controlled PIX timing capture.

`PixBeginCapture` also uses the flags returned by [PixGetCaptureState](/reference/tools/pix3/functions/pixgetcapturestate).

## Requirements

**Header:** pix3.h

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

## See also

[PIXBeginCapture](/reference/tools/pix3/functions/pixbegincapture)\
[PIX (NDA topic)](/tools/tools-console/pix/pix)\
[pix3](/reference/tools/pix3/pix3_members)


## Related topics

- [PIX3](/reference/tools/pix3/pix3_members.md)
- [PIXEndCapture](/reference/tools/pix3/functions/pixendcapture.md)
- [XAppCaptureGetVideoCaptureSettings](/reference/system/xappcapture/functions/xappcapturegetvideocapturesettings.md)
- [XAppCaptureRecordTimespan](/reference/system/xappcapture/functions/xappcapturerecordtimespan.md)
- [XAppCaptureDisableRecord](/reference/system/xappcapture/functions/xappcapturedisablerecord.md)
