GetOverlappedAccessResults

[This is preliminary documentation and subject to change.]

The GetOverlappedAccessResults function returns the results of an asynchronous call to the SetSecurityInfoEx or SetNamedSecurityInfoEx functions. GetOverlappedAccessResults can wait for the asynchronous operation to be completed, or it can return immediately with the current state of the operation.

DWORD GetOverlappedAccessResults(
  PACTRL_OVERLAPPED pOverlapped,
                   // pointer to the structure filled in by the 
                   // asynchronous call
  BOOL fWaitForCompletion,
                   // TRUE indicates to wait for completion
  PDWORD pResult,  // receives the result of the asynchronous 
                   // operation
  PULONG pcItemsProcessed
                   // receives the number of objects processed
);
 

Parameters

pOverlapped
Pointer to the ACTRL_OVERLAPPED structure that was filled in by the SetSecurityInfoEx or SetNamedSecurityInfoEx call that started the asynchronous operation.
fWaitForCompletion
Flag that indicates whether GetOverlappedAccessResults returns immediately or waits for the asynchronous operation to be completed. If this value is FALSE, the function returns immediately with the current status of the operation. Otherwise, the function does not return until the operation has been completed.
pResult
Pointer to a DWORD value. If the function returns ERROR_SUCCESS, this value receives one of the following values to indicate the results of the asynchronous operation.
Value Meaning
ERROR_SUCCESS The operation successfully set the object's security information.
ERROR_OPERATION_ABORTED The operation was canceled.

pcItemsProcessed
Pointer to a ULONG value. If the function returns ERROR_SUCCESS or ERROR_IO_PENDING, this value receives the number of objects for which the security information has been set. This is useful for an operation that sets the security on multiple objects, such as a container object and the objects it contains. This parameter can be NULL.

Return Values

If the asynchronous operation has been completed, the return value is ERROR_SUCCESS and the pResult parameter receives the results of the operation.

If the asynchronous operation has not been completed, the return value is ERROR_IO_PENDING.

If the function fails, the return value can be one of the following error codes.

Value Meaning
ERROR_BAD_PROVIDER The asynchronous operation failed because an invalid provider name was specified.
ERROR_INVALID_PARAMETER The pOverlapped parameter is invalid.
ERROR_NOT_ENOUGH_MEMORY The asynchronous operation failed due to a memory allocation failure.

Remarks

The first time you call the GetOverlappedAccessResults function for a given ACTRL_OVERLAPPED structure, the function closes the handle to the event object in the structure's hEvent member. Subsequent calls to GetOverlappedAccessResults for the same ACTRL_OVERLAPPED structure identify the operation by the information stored in the reserved members of the ACTRL_OVERLAPPED structure.

QuickInfo

  Windows NT: Requires version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in aclapi.h.
  Import Library: Use advapi32.lib.

See Also

Access Control Overview, Access Control Functions, ACTRL_OVERLAPPED, CancelOverlappedAccess, SetSecurityInfoEx, SetNamedSecurityInfoEx