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

# IDStorageQueueX1::EnqueueSetEvent

> IDStorageQueueX1::EnqueueSetEvent

# IDStorageQueueX1::EnqueueSetEvent

Enqueues a **SetEvent** operation.

## Syntax

```cpp theme={null}
void EnqueueSetEvent(  
         HANDLE handle  
)  
```

### Parameters

*handle*\
Type: HANDLE

An event handle.

### Return value

Type: void

## Remarks

The specified event is signaled when all enqueued requests before it complete.
The event can be either auto-reset or manual-reset.

After calling this method, a title thread can wait on the event as needed. If
the event is already in signaled state when the set event operation happens, a
warning message will be printed in the debugger if DSTORAGE\_DEBUG\_SHOW\_ERRORS is
on.

If the `EnqueueSetEvent` method fills half of the queue's capacity since the
last submission, it triggers an automatic submission as part of the
`EnqueueSetEvent` call.

In most cases, this method simply does a memory write to the queue, thus takes
very little CPU time to complete. However, if automatic submission is triggered,
it takes significantly more CPU time, including a kernel mode transition and
processing all of the previously submitted requests in the caller thread.

If automatic submission is not desirable, games are recommended to use a queue
with large enough capacity and call [Submit](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_submit) manually
when appropriate.

For more information, see the "Notification" and
"EnqueueStatus/EnqueueSignal/EnqueueSetEvent" sections in [DirectStorage
overview](/build/console-features/storage/directstorage/directstorage-overview).

## Requirements

**Header:** dstorage\_xs.h

**Library:** dstorage\_xs.lib

**Supported platforms:** XBOX Series consoles

## See also

[IDStorageQueueX::EnqueueStatus](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuestatus)\
[IDStorageQueueX::EnqueueSignal](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuesignal)\
[IDStorageQueueX](/reference/system/dstorage/interfaces/IDStorageQueueX/idstoragequeuex)\
[DStorage](/reference/system/dstorage/dstorage_members)


## Related topics

- [IDStorageQueueX1](/reference/system/dstorage/interfaces/IDStorageQueueX1/idstoragequeuex1.md)
- [DirectStorage Overview](/build/console-features/storage/directstorage/directstorage-overview.md)
- [IDStorageQueueX::Submit](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_submit.md)
- [IDStorageQueueX2](/reference/system/dstorage/interfaces/IDStorageQueueX2/idstoragequeuex2.md)
- [IDStorageQueueX::EnqueueSignal](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuesignal.md)
