[This is a preview of an interface that may appear in future releases of Windows.]
The CancelOverlappedAccess function cancels an asynchronous operation started by the SetSecurityInfoEx or SetNamedSecurityInfoEx functions.
DWORD CancelOverlappedAccess(
PACTRL_OVERLAPPED pOverlapped |
// pointer to the structure filled in by the asynchronous call |
); |
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value can be one of the following error codes.
Value |
Meaning |
ERROR_CANCEL_IN_PROGRESS |
A cancel is currently in progress and cannot be restarted. |
ERROR_INVALID_PARAMETER |
The pOverlapped parameter is invalid. |
ERROR_OPERATION_ABORTED |
The asynchronous operation has already been canceled. |
If the CancelOverlappedAccess function is successful, the pOverlapped structure is no longer valid for GetOverlappedAccessResults or CancelOverlappedAccess calls.
The SetSecurityInfoEx or SetNamedSecurityInfoEx functions can start an asynchronous operation that sets the security on multiple objects, such as on a container object and the objects it contains. If such an operation is canceled, some of the objects might have the new security state while other objects remain in their original security state. In this case, an administrator must examine the objects to determine the appropriate action depending on their states.
Currently, the import library for the CancelOverlappedAccess function is ACCSRC.LIB. This is temporary. Eventually, the import library will be ADVAPI32.LIB. Meanwhile, any source code that links with the ACCSRC.LIB library must call the AccProvInit macro as follows:
DWORD dwErrcode; AccProvInit(dwErrcode); if(dwErrcode != ERROR_SUCCESS) { // Consider this an error... }
ACTRL_OVERLAPPED, GetOverlappedAccessResults, SetSecurityInfoEx, SetNamedSecurityInfoEx