Compartilhar via


PCOPYFILE2_PROGRESS_ROUTINE função de retorno de chamada (winbase.h)

Uma função de retorno de chamada definida pelo aplicativo usada com a função CopyFile2. Ele é chamado quando uma parte de uma operação de cópia ou movimentação é concluída. O tipo PCOPYFILE2_PROGRESS_ROUTINE define um ponteiro para essa função de retorno de chamada. CopyFile2ProgressRoutine é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

PCOPYFILE2_PROGRESS_ROUTINE Pcopyfile2ProgressRoutine;

COPYFILE2_MESSAGE_ACTION Pcopyfile2ProgressRoutine(
  [in]           const COPYFILE2_MESSAGE *pMessage,
  [in, optional] PVOID pvCallbackContext
)
{...}

Parâmetros

[in] pMessage

Ponteiro para uma estrutura COPYFILE2_MESSAGE .

[in, optional] pvCallbackContext

Cópia do valor passado no membro pvCallbackContext da estrutura COPYFILE2_EXTENDED_PARAMETERS passada para CopyFile2.

Retornar valor

Valor da enumeração COPYFILE2_MESSAGE_ACTION indicando qual ação deve ser tomada.

Valor/código retornado Descrição
COPYFILE2_PROGRESS_CONTINUE
0
Continue a operação de cópia.
COPYFILE2_PROGRESS_CANCEL
1
Cancele a operação de cópia. A função CopyFile2 falhará, retornará HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) e todos os fragmentos parcialmente copiados serão excluídos.
COPYFILE2_PROGRESS_STOP
2
Interrompa a operação de cópia. A função CopyFile2 falhará, retornará HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) e todos os fragmentos parcialmente copiados serão deixados intactos. A operação poderá ser reiniciada usando o sinalizador COPY_FILE_RESUME_FROM_PAUSE somente se COPY_FILE_RESTARTABLE tiver sido definido no membro dwCopyFlags da estrutura COPYFILE2_EXTENDED_PARAMETERS passada para a função CopyFile2 .
COPYFILE2_PROGRESS_QUIET
3
Continue a operação de cópia, mas não chame a função de retorno de chamada CopyFile2ProgressRoutine novamente para essa operação.
COPYFILE2_PROGRESS_PAUSE
4
Pause a operação de cópia. Na maioria dos casos, a função CopyFile2 falhará e retornará HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) e todos os fragmentos parcialmente copiados serão deixados intactos (exceto pelo cabeçalho gravado que é usado para retomar a operação de cópia posteriormente).) Caso a operação de cópia tenha sido concluída no momento em que a solicitação de pausa é processada, a chamada CopyFile2 será concluída com êxito e nenhum cabeçalho de currículo será gravado.

Comentários

A mensagem COPYFILE2_CALLBACK_STREAM_FINISHED é a última mensagem para uma cópia pausada. Se COPYFILE2_PROGRESS_PAUSE for retornado em resposta a uma mensagem de COPYFILE2_CALLBACK_STREAM_FINISHED , nenhum retorno de chamada adicional será enviado.

Para compilar um aplicativo que usa o tipo de ponteiro de função PCOPYFILE2_PROGRESS_ROUTINE , defina a macro _WIN32_WINNT como 0x0601 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)