IDStorageQueueX1::EnqueueSetEvent

Enqueues a SetEvent operation.

Syntax

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 manually when appropriate.

For more information, see the "Notification" and "EnqueueStatus/EnqueueSignal/EnqueueSetEvent" sections in DirectStorage overview.

Requirements

Header: dstorage_xs.h

Library: dstorage_xs.lib

Supported platforms: Xbox Series consoles

See also

IDStorageQueueX::EnqueueStatus
IDStorageQueueX::EnqueueSignal
IDStorageQueueX
DStorage