Share via


Função PeerDistClientCancelAsyncOperation (peerdist.h)

A função PeerDistClientCancelAsyncOperation cancela a operação assíncrona associada a uma estrutura OVERLAPPED e ao identificador de conteúdo retornado por PeerDistClientOpenContent.

Sintaxe

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

Parâmetros

[in] hPeerDist

Um PEERDIST_INSTANCE_HANDLE retornado por PeerDistStartup.

[in] hContentHandle

Um identificador de conteúdo aberto pela chamada de função PeerDistClientOpenContent .

[in, optional] pOverlapped

Ponteiro para uma estrutura OVERLAPPED que contém os dados de operação assíncrona de cancelamento. Se o ponteiro for NULL , todas as operações assíncronas do identificador de conteúdo especificado serão canceladas.

Retornar valor

A função retornará ERROR_SUCCESS valor se a operação associada à estrutura OVERLAPPED especificada for cancelada com êxito. Caso contrário, a função pode retornar um dos seguintes valores:

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um ou mais parâmetros são inválidos.
ERROR_INVALID_HANDLE
O identificador hPeerDist é inválido.
PEERDIST_ERROR_OPERATION_NOT_FOUND
A operação associada à estrutura OVERLAPPED especificada não pode ser encontrada.
ERROR_ACCESS_DISABLED_BY_POLICY
O recurso é desabilitado por Política de Grupo.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
O serviço está indisponível.

Comentários

Essa função cancelará a operação de forma síncrona, mas não retornará até que o resultado do cancelamento seja postado na porta de conclusão ou o evento de espera seja definido como o estado sinalizado. Todos os threads em espera podem receber o aviso de conclusão da operação antes ou depois que a função PeerDistClientCancelAsyncOperation retornar.

Essa função não garante que a operação será concluída como cancelada. O resultado do cancelamento será postado somente se nenhum outro resultado tiver sido postado.

Para confirmar as operações canceladas com êxito, uma chamada deve ser feita para GetOverlappedResult com um retorno esperado de FALSE.

Além disso, chamar GetLastError imediatamente após um PeerDistClientCancelAsyncOperation bem-sucedido retornará o código de erro ERROR_OPERATION_ABORTED .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho peerdist.h
Biblioteca PeerDist.lib
DLL PeerDist.dll

Confira também

PeerDistServerCancelAsyncOperation