estrutura CF_OPERATION_PARAMETERS (cfapi.h)

Parâmetros detalhados de uma operação em um arquivo ou pasta de espaço reservado. Os dados fornecidos nessa estrutura são específicos para o CF_OPERATION_TYPE da operação.

Sintaxe

typedef struct CF_OPERATION_PARAMETERS {
  ULONG ParamSize;
  union {
    struct {
      CF_OPERATION_TRANSFER_DATA_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
    } TransferData;
    struct {
      CF_OPERATION_RETRIEVE_DATA_FLAGS Flags;
      LPVOID                           Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
      LARGE_INTEGER                    ReturnedLength;
    } RetrieveData;
    struct {
      CF_OPERATION_ACK_DATA_FLAGS Flags;
      NTSTATUS                    CompletionStatus;
      LARGE_INTEGER               Offset;
      LARGE_INTEGER               Length;
    } AckData;
    struct {
      CF_OPERATION_RESTART_HYDRATION_FLAGS Flags;
      const CF_FS_METADATA                 *FsMetadata;
      LPCVOID                              FileIdentity;
      DWORD                                FileIdentityLength;
    } RestartHydration;
    struct {
      CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS Flags;
      NTSTATUS                                 CompletionStatus;
      LARGE_INTEGER                            PlaceholderTotalCount;
      CF_PLACEHOLDER_CREATE_INFO               *PlaceholderArray;
      DWORD                                    PlaceholderCount;
      DWORD                                    EntriesProcessed;
    } TransferPlaceholders;
    struct {
      CF_OPERATION_ACK_DEHYDRATE_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          FileIdentity;
      DWORD                            FileIdentityLength;
    } AckDehydrate;
    struct {
      CF_OPERATION_ACK_RENAME_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckRename;
    struct {
      CF_OPERATION_ACK_DELETE_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckDelete;
  } DUMMYUNIONNAME;
} CF_OPERATION_PARAMETERS;

Membros

ParamSize

DUMMYUNIONNAME

DUMMYUNIONNAME.TransferData

Um provedor de sincronização executa TRANSFER_DATA para hidratar um arquivo de espaço reservado. Essa operação pode ser executada como uma resposta a um retorno de chamada FETCH_DATA , um retorno de chamada VALIDATE_DATA ou como parte de um esforço preemptivo de hidratação em segundo plano fora de qualquer contexto de retorno de chamada.

Essa API só é aplicável a provedores de sincronização que dão suporte a uma política de hidratação menor que ALWAYS_FULL. Caso contrário, a operação falhará com ERROR_CLOUD_FILE_INVALID_REQUEST.

O provedor de sincronização deve ter WRITE_DATA ou WRITE_DAC acesso ao arquivo no qual a operação de TRANSFER_DATA deve ser executada. Caso contrário, a operação falhará com ERROR_CLOUD_FILE_ACCESS_DENIED.

Para executar esta operação:

  • OpInfo.Type deve ser definido como CF_OPERATION_TYPE_TRANSFER_DATA.
  • OpParams.ParamSize deve ser definido com o tamanho exato de OpParams.TransferData mais o deslocamento de OpParams.TransferData.
  • OpParams.TransferData.Flags deve ser definido como CF_OPERATION_TRANSFER_DATA_FLAG_NONE.
  • OpParams.TransferData.CompletionStatus deverá ser definido como STATUS_SUCCESS se o provedor de sincronização quiser transferir dados para o arquivo de espaço reservado. Se o provedor de sincronização não processar a solicitação de hidratação por qualquer motivo e não quiser reiniciar a hidratação, ele deverá definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.
  • OpParams.TransferData.Buffer deverá apontar para um buffer de modo de usuário válido se OpParams.TransferData.CompletionStatus for STATUS_SUCCESS e deve ser pelo menos OpParams.TransferData.Length bytes; caso contrário, o campo de buffer será ignorado.
  • OpParams.TransferData.Offset e OpParams.TransferData.Length descrevem um intervalo no espaço reservado para o qual o provedor de sincronização está transferindo os dados. Não há nenhum requisito de que o provedor de sincronização retorne todos os dados conforme solicitado em uma única captura. Também é ok para um provedor de sincronização retornar mais dados do que o solicitado. Por exemplo, o provedor de sincronização pode decidir sobre-ler, por desempenho ou outros motivos. O provedor de sincronização também pode executar várias operações de TRANSFER_DATA repetidamente como uma resposta ao mesmo FETCH_DATA retorno de chamada. O único requisito é que o deslocamento e o comprimento sejam alinhados em 4 KB, a menos que o intervalo descrito termine no tamanho do arquivo lógico (EoF), nesse caso, o comprimento não precisará ser alinhado a 4 KB, desde que o intervalo resultante termine no tamanho do arquivo lógico ou superior.

Após a conclusão da operação:

  • Se o provedor de sincronização não especificar VALIDATION_REQUIRED no momento do registro raiz da sincronização.

No caso de transferência bem-sucedida, todas as solicitações de E/S de usuário pendentes no arquivo de espaço reservado que receberam todos os bytes necessários como resultado da transferência serão concluídas; caso contrário, as solicitações de E/S de usuário incompletas serão atualizadas para refletir o estado de hidratação mais recente. Em um caso de transferência com falha, todas as solicitações de E/S de usuário pendentes no arquivo de espaço reservado que se sobrepõem ao intervalo, conforme descrito pelo deslocamento e pelo comprimento, falharão com OpParams.TransferData.CompletionStatus.

Se o provedor de sincronização especificar VALIDATION_REQUIRED no momento do registro raiz de sincronização, nenhum processamento será feito pela plataforma até que os dados no intervalo sejam reconhecidos positivamente pelo provedor de sincronização por meio de uma operação de ACK_DATA .

DUMMYUNIONNAME.TransferData.Flags

Sinalizadores para transferir dados. Isso deve ser definido como CF_OPERATION_TRANSFER_DATA_FLAG_NONE. Confira CF_OPERATION_TRANSFER_DATA_FLAGS para obter mais informações.

DUMMYUNIONNAME.TransferData.CompletionStatus

Status da transferência de dados. Isso deve ser definido como STATUS_SUCCESS se o provedor de sincronização quiser transferir dados para o arquivo de espaço reservado. Se o provedor de sincronização não processar a solicitação de hidratação por qualquer motivo e não quiser reiniciar a hidratação, ele deverá definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.

DUMMYUNIONNAME.TransferData.Buffer

Um buffer de modo de usuário válido. Isso deve apontar para um buffer de modo de usuário válido se CompletionStatus for STATUS_SUCCESS e deve ser de pelo menos Bytes de comprimento . Caso contrário, o campo de buffer será ignorado.

DUMMYUNIONNAME.TransferData.Offset

O deslocamento usado com o Length para descrever um intervalo no espaço reservado para o qual os dados são transferidos. Ele descreve um intervalo no espaço reservado para o qual o provedor de sincronização está transferindo os dados. Não há nenhum requisito de que o provedor de sincronização retorne todos os dados conforme solicitado em uma única captura. Também é ok para um provedor de sincronização retornar mais dados do que o solicitado. Por exemplo, o provedor de sincronização pode decidir sobre-ler, por desempenho ou outros motivos. O provedor de sincronização também pode executar várias operações de TRANSFER_DATA repetidamente como uma resposta ao mesmo FETCH_DATA retorno de chamada. O deslocamento deve estar alinhado a 4 KB.

DUMMYUNIONNAME.TransferData.Length

O Comprimento em bytes do Buffer. O comprimento deve ser alinhado a 4 KB, a menos que o intervalo descrito termine no tamanho do arquivo lógico (EoF), nesse caso, o Length não precisa ser alinhado com 4 KB, desde que o intervalo resultante termine no tamanho do arquivo lógico ou além dele. Mesmo que o CompletionStatus não seja STATUS_SUCCESS, esse campo deve ser definido como um valor válido.

DUMMYUNIONNAME.RetrieveData

Um provedor de sincronização executa uma operação de RETRIEVE_DATA como parte da hidratação do espaço reservado para validar a integridade dos dados que foram transferidos anteriormente para o espaço reservado. Essa operação pode ser executada como uma resposta a um retorno de chamada FETCH_DATA , um retorno de chamada VALIDATE_DATA ou como parte de um esforço preemptivo de hidratação em segundo plano fora de qualquer contexto de retorno de chamada.

Essa API só é aplicável a provedores de sincronização que dão suporte a uma política de hidratação menor que ALWAYS_FULL. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_NOT_SUPPORTED.

O provedor de sincronização é necessário para especificar o modificador de política de hidratação VALIDATE_REQUIRED no momento do registro raiz da sincronização para executar essa operação. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_NOT_SUPPORTED.

O provedor de sincronização deve ter READ_DATA ou WRITE_DAC acesso ao arquivo no qual a operação de RETRIEVE_DATA deve ser executada. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_ACCESS_DENIED.

Para executar esta operação:

  • OpInfo.Type deve ser definido como CF_OPERATION_TYPE_RETRIEVE_DATA.
  • OpParams.ParamSize deve ser definido com o tamanho exato de OpParams.RetrieveData mais o deslocamento de OpParams.RetrieveData.
  • OpParams.RetrieveData.Flags deve ser definido como CF_OPERATION_RETRIEVE_DATA_FLAG_NONE.
  • OpParams.RetrieveData.Buffer deve apontar para um buffer de modo de usuário válido e ser de pelo menos OpParams.RetrieveData.Length bytes. Após uma conclusão bem-sucedida da operação, ela recebe os dados transferidos anteriormente para o espaço reservado por meio de TRANSFER_DATA.
  • OpParams.RetrieveData.Offset e OpParams.RetrieveData.Length descrevem um intervalo no espaço reservado do qual o provedor de sincronização está recuperando dados. O intervalo que está sendo solicitado deve ter sido totalmente hidratado por uma operação de TRANSFER_DATA antes da operação de RETRIEVE_DATA caso contrário, a operação falhará com STATUS_CLOUD_FILE_INVALID_REQUEST. O deslocamento e o comprimento são alinhados em 4 KB, a menos que o intervalo descrito termine no tamanho do arquivo lógico (EoF), nesse caso, o comprimento não é necessário para ser alinhado a 4 KB, desde que termine no tamanho do arquivo lógico ou além dele.
  • OpParams.RetrieveData.ReturnedLength recebe o número real de bytes recuperados após uma conclusão bem-sucedida da operação.

DUMMYUNIONNAME.RetrieveData.Flags

Sinalizadores para recuperar dados. Isso deve ser definido como CF_OPERATION_RETRIEVE_DATA_FLAG_NONE. Consulte CF_OPERATION_RETRIEVE_DATA_FLAGS para obter mais informações.

DUMMYUNIONNAME.RetrieveData.Buffer

Isso deve apontar para um buffer de modo de usuário válido e ser de pelo menos Bytes de comprimento . Após uma conclusão bem-sucedida da operação, ela recebe os dados transferidos anteriormente para o espaço reservado por meio de TRANSFER_DATA.

DUMMYUNIONNAME.RetrieveData.Offset

O deslocamento usado com o Length para descrever o intervalo de dados recuperados de um espaço reservado. Ele descreve um intervalo no espaço reservado do qual o provedor de sincronização está recuperando dados. O intervalo que está sendo solicitado deve ter sido totalmente hidratado por uma operação de TRANSFER_DATA antes da operação de RETRIEVE_DATA caso contrário, a operação falhará com STATUS_CLOUD_FILE_INVALID_REQUEST. O deslocamento deve estar alinhado a 4 KB.

DUMMYUNIONNAME.RetrieveData.Length

O comprimento em bytes do Buffer. Isso é alinhado com 4 KB, a menos que o intervalo descrito termine no EoF (tamanho do arquivo lógico), nesse caso, Length não precisa estar alinhado a 4 KB, desde que termine no tamanho do arquivo lógico ou além dele.

DUMMYUNIONNAME.RetrieveData.ReturnedLength

O número de bytes recuperados após a conclusão bem-sucedida da operação.

DUMMYUNIONNAME.AckData

Um provedor de sincronização executa uma operação de ACK_DATA como parte da hidratação do espaço reservado depois de validar a integridade dos dados que foram transferidos anteriormente para a plataforma. Essa operação pode ser executada como uma resposta a um retorno de chamada FETCH_DATA , um retorno de chamada VALIDATE_DATA ou como parte de um esforço preemptivo de hidratação em segundo plano fora de qualquer contexto de retorno de chamada.

Essa API só é aplicável a provedores de sincronização que dão suporte a uma política de hidratação menor que ALWAYS_FULL. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_NOT_SUPPORTED.

O provedor de sincronização é necessário para especificar o modificador de política de hidratação VALIDATE_REQUIRED no momento do registro raiz de sincronização para executar essa operação. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_NOT_SUPPORTED.

O provedor de sincronização deve ter READ_DATA ou WRITE_DAC acesso ao arquivo no qual a operação de ACK_DATA deve ser executada. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_ACCESS_DENIED.

Para executar esta operação:

  • OpInfo.Type deve ser definido como CF_OPERATION_TYPE_ACK_DATA.
  • OpParams.ParamSize deve ser definido com o tamanho exato de OpParams.AckData mais o Deslocamento de OpParams.AckData.
  • OpParams.AckData.Flags deve ser definido como CF_OPERATION_ACK_DATA_FLAG_NONE.
  • OpParams.AckData.CompletionStatus deve ser definido como STATUS_SUCCESS se o provedor de sincronização validar os dados dentro do intervalo a serem confirmados é bom. Se o provedor de sincronização não validar os dados por qualquer motivo e não quiser reiniciar a hidratação, ele deverá definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.
  • OpParams.AckData.Offset e OpParams.AckData.Length descrevem um intervalo no espaço reservado cujos dados serão confirmados pelo provedor de sincronização. O intervalo que está sendo solicitado não precisa ser totalmente hidratado por uma operação de TRANSFER_DATA antes da operação. Tanto Offset quanto Length são alinhados em 4 KB, a menos que o intervalo descrito termine no EoF (tamanho do arquivo lógico), nesse caso, Length não precisa ser alinhado com 4 KB, desde que termine no tamanho do arquivo lógico ou além dele.
  • Um Comprimento de -1, indicado como CF_EOF, significa infinito (ou seja, até o final do arquivo).

Após uma operação de ACK_DATA bem-sucedida, todas as solicitações de E/S de usuário pendentes no arquivo de espaço reservado que receberam todos os bytes necessários como resultado da operação de ACK_DATA serão concluídas; caso contrário, as solicitações de E/S de usuário incompletas serão atualizadas para refletir o estado de hidratação mais recente. Em um caso de ACK_DATA com falha, todas as solicitações de E/S de usuário pendentes no arquivo de espaço reservado que se sobrepõem ao intervalo, conforme descrito pelo Offset e Length , falharão com CompletionStatus.

DUMMYUNIONNAME.AckData.Flags

Sinalizadores para confirmação de dados. Isso deve ser definido como CF_OPERATION_ACK_DATA_FLAG_NONE. Consulte CF_OPERATION_ACK_DATA_FLAGS para obter mais informações.

DUMMYUNIONNAME.AckData.CompletionStatus

Conclusão status de confirmação de dados. Isso deve ser definido como STATUS_SUCCESS se o provedor de sincronização validar se os dados dentro do intervalo a serem confirmados são bons. Se o provedor de sincronização não validar os dados por qualquer motivo e não quiser reiniciar a hidratação, ele deverá definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.

DUMMYUNIONNAME.AckData.Offset

O deslocamento em bytes dos dados de espaço reservado a serem confirmados. Offset descreve um intervalo no espaço reservado cujos dados serão reconhecidos pelo provedor de sincronização. O intervalo que está sendo solicitado não precisa ser totalmente hidratado por uma operação de TRANSFER_DATA antes da operação. O deslocamento deve estar alinhado a 4 KB.

DUMMYUNIONNAME.AckData.Length

O comprimento em bytes de dados no espaço reservado a ser reconhecido. Deve ser alinhado com 4 KB, a menos que o intervalo descrito termine no EoF (tamanho do arquivo lógico), nesse caso, Length não precisa estar alinhado a 4 KB, desde que termine no tamanho do arquivo lógico ou além dele. Um Comprimento de -1, indicado como CF_EOF, significa infinito (ou seja, até o final do arquivo).

DUMMYUNIONNAME.RestartHydration

Um provedor de sincronização executa uma operação de RESTART_HYDRATION para reiniciar uma hidratação contínua. Essa operação pode ser executada como uma resposta a um retorno de chamada FETCH_DATA , um retorno de chamada VALIDATE_DATA ou como parte de um esforço preemptivo de hidratação em segundo plano fora de qualquer contexto de retorno de chamada.

Essa API só é aplicável a provedores de sincronização que dão suporte à política de hidratação FULL . Caso contrário, a operação falhará com STATUS_CLOUD_FILE_NOT_SUPPORTED.

O provedor de sincronização deve ter WRITE_DATA ou WRITE_DAC acesso ao arquivo no qual a operação de RESTART_HYDRATION deve ser executada. Caso contrário, a operação falhará com STATUS_CLOUD_FILE_ACCESS_DENIED.

Para executar esta operação:

  • OpInfo.Type deve ser definido como CF_OPERATION_TYPE_RESTART_HYDRATION.
  • OpParams.ParamSize deve ser definido com o tamanho exato de OpParams.RestartHydration mais o Deslocamento de OpParams.RestartHydration.
  • OpParams.RestartHydration.Flags deve ser definido como CF_OPERATION_RESTART_HYDRATION_FLAG_NONE ou CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC.
    • Se CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC for especificado, o espaço reservado será marcado em sincronia após uma operação de RESTART_HYDRATION bem-sucedida.
  • OpParams.RestartHydration.FsMetadata é opcional. Quando fornecido:
    • Um 0 valor no campo de carimbo de data/hora (CreationTime, LastAccessTime, LastWriteTime e ChangeTime) significa nenhuma alteração no carimbo de data/hora atual no arquivo.
    • Um 0 valor em FileAttributes significa que não há nenhuma alteração nos atributos de arquivo atuais no arquivo.
    • Não há nenhum valor especial em FileSize. Um 0 valor em FileSize trunca o tamanho do arquivo como 0.
  • OpParams.RestartHydration.FileIdentity e OpParams.RestartHydration.FileIdentityLength são opcionais. Quando fornecida, a nova identidade será mantida no arquivo. Caso contrário, a identidade do arquivo atual permanecerá.

O provedor de sincronização chama essa API caso determine que os dados em disco em um espaço reservado são de fato inválidos e não são adequados para atender a solicitações de E/S. O cenário típico é que os dados recuperados por algum motivo falharam em uma verificação de soma de verificação. Outro cenário de uso ocorre quando, ao longo da hidratação, o conteúdo do arquivo foi realmente atualizado na nuvem (e o provedor de sincronização não é capaz de recuperar conteúdo histórico da nuvem correspondente à versão do espaço reservado local).

Após uma reinicialização bem-sucedida, o espaço reservado será completamente desidratado e atualizado com os novos metadados, se houver. As solicitações de E/S de usuário pendentes, se houver alguma, serão reprocessadas como se tivessem acabado de chegar e, como resultado, o provedor de sincronização receberá novos retornos de chamada exatamente iguais aos que o provedor de sincronização recebeu anteriormente.

Se, no entanto, a reinicialização falhar por qualquer motivo, o espaço reservado poderá ser deixado em um estado não determinístico, dependendo de onde o erro foi encontrado e todas as solicitações de E/S de usuário pendentes no espaço reservado falharão com o mesmo erro. A única coisa que a plataforma garante nesse caso é que o acesso futuro do usuário ao arquivo de espaço reservado disparará os mesmos retornos de chamada.

DUMMYUNIONNAME.RestartHydration.Flags

Sinalizadores para reiniciar a hidratação do espaço reservado. Isso deve ser definido como CF_OPERATION_RESTART_HYDRATION_FLAG_NONE ou CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC. Se CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC for especificado, o espaço reservado será marcado em sincronia após uma operação de RESTART_HYDRATION bem-sucedida. Consulte CF_OPERATION_RESTART_HYDRATION_FLAGS para obter mais informações.

DUMMYUNIONNAME.RestartHydration.FsMetadata

Opcional. Contém atualizações para os metadados de arquivos. Quando especificado:

  • Um 0 valor no campo de carimbo de data/hora (CreationTime, LastAccessTime, LastWriteTime e ChangeTime) significa nenhuma alteração no carimbo de data/hora atual no arquivo.
  • Um 0 valor em FileAttributes significa que não há alteração nos atributos de arquivo atuais no arquivo.
  • Não há nenhum valor especial em FileSize. Um 0 valor em FileSize trunca o tamanho do arquivo como 0.

DUMMYUNIONNAME.RestartHydration.FileIdentity

Opcional. Quando fornecido, a identidade do arquivo é atualizada para esse valor. Caso contrário, ele permanecerá o mesmo.

DUMMYUNIONNAME.RestartHydration.FileIdentityLength

Opcional. Isso especifica o comprimento da FileIdentity.

DUMMYUNIONNAME.TransferPlaceholders

DUMMYUNIONNAME.TransferPlaceholders.Flags

Sinalizadores para transferir espaços reservados. Confira CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS para obter mais informações.

DUMMYUNIONNAME.TransferPlaceholders.CompletionStatus

A conclusão status da operação de transferência de espaços reservados.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderTotalCount

O número total de espaços reservados.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderArray

Uma matriz de espaços reservados a serem transferidos.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderCount

O número de espaços reservados que estão sendo transferidos.

DUMMYUNIONNAME.TransferPlaceholders.EntriesProcessed

As entradas de espaço reservado que foram processadas.

DUMMYUNIONNAME.AckDehydrate

DUMMYUNIONNAME.AckDehydrate.Flags

Sinalizadores de confirmação de dados desidratados. Confira CF_OPERATION_ACK_DEHYDRATE_FLAGS para obter mais informações.

DUMMYUNIONNAME.AckDehydrate.CompletionStatus

A conclusão status da operação de desidratação de reconhecimento. Isso deve ser definido como STATUS_SUCCESS se o provedor de sincronização puder permitir que a desidratação continue. Se o provedor de sincronização pretende não permitir a desidratação por qualquer motivo, ele deve definir um status de STATUS_CLOUD_FILE_* em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.

DUMMYUNIONNAME.AckDehydrate.FileIdentity

A identidade do arquivo de espaço reservado para o qual reconhecer dados desidratados.

DUMMYUNIONNAME.AckDehydrate.FileIdentityLength

Comprimento, em bytes, da FileIdentity.

DUMMYUNIONNAME.AckRename

DUMMYUNIONNAME.AckRename.Flags

Confirme renomear sinalizadores de espaço reservado. Consulte CF_OPERATION_ACK_RENAME_FLAGS para obter mais informações.

DUMMYUNIONNAME.AckRename.CompletionStatus

A conclusão status da operação de renomeação de confirmação. Isso deve ser definido como STATUS_SUCCESS se o provedor de sincronização puder permitir que a operação de renomeação continue. Se o provedor de sincronização pretende não permitir a renomeação por qualquer motivo, ele deve definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.

DUMMYUNIONNAME.AckDelete

DUMMYUNIONNAME.AckDelete.Flags

Reconhecer sinalizadores de exclusão. Consulte CF_OPERATION_ACK_DELETE_FLAGS para obter mais informações.

DUMMYUNIONNAME.AckDelete.CompletionStatus

A conclusão status da operação de exclusão de confirmação. Isso deve ser definido como STATUS_SUCCESS se o provedor de sincronização puder permitir que a operação de exclusão prossiga. Se o provedor de sincronização pretende não permitir a exclusão por qualquer motivo, ele deve definir um STATUS_CLOUD_FILE_* status em CompletionStatus. Qualquer código status retornado fora do intervalo de STATUS_CLOUD_FILE_*, exceto STATUS_SUCCESS será convertido em STATUS_CLOUD_FILE_UNSUCCESSFUL pela plataforma.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1709 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Cabeçalho cfapi.h

Confira também

CfExecute

CF_OPERATION_TRANSFER_DATA_FLAGS

CF_OPERATION_RETRIEVE_DATA_FLAGS