PeerDistClientCancelAsyncOperation function (peerdist.h)

The PeerDistClientCancelAsyncOperation function cancels asynchronous operation associated with an OVERLAPPED structure and the content handle returned by PeerDistClientOpenContent.


DWORD PeerDistClientCancelAsyncOperation(
  [in]           PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in]           PEERDIST_CONTENT_HANDLE  hContentHandle,
  [in, optional] LPOVERLAPPED             pOverlapped


[in] hPeerDist

A PEERDIST_INSTANCE_HANDLE returned by PeerDistStartup.

[in] hContentHandle

A content handle opened by PeerDistClientOpenContent function call.

[in, optional] pOverlapped

Pointer to an OVERLAPPED structure that contains the canceling asynchronous operation data. If the pointer is NULL all asynchronous operations for specified content handle will be canceled.

Return value

The function will return ERROR_SUCCESS value if the operation associated with the specified OVERLAPPED structure is successfully canceled. Otherwise, the function may return one of the following values:

Return code Description
One or more parameters are invalid.
The hPeerDist handle is invalid.
The operation associated with the specified OVERLAPPED structure cannot be found.
The feature is disabled by Group Policy.
The service is unavailable.


This function will synchronously cancel the operation, but will not return until the cancellation result is posted to the completion port or wait event is set to the signaled state. Any threads in waiting can receive the completion notice for the operation before or after the PeerDistClientCancelAsyncOperation function returns.

This function does not guarantee that the operation will complete as canceled. The cancellation result will be posted only if no other results have been posted.

To confirm successfully canceled operations, a call should be made to GetOverlappedResult with an expected return of FALSE.

Additionally, calling GetLastError immediately after a successful PeerDistClientCancelAsyncOperation will return the ERROR_OPERATION_ABORTED error code.


Minimum supported client Windows 7 Professional [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header peerdist.h
Library PeerDist.lib
DLL PeerDist.dll

See also