Compartir a través de


estructura CF_OPERATION_PARAMETERS (cfapi.h)

Parámetros detallados de una operación en un archivo o carpeta de marcador de posición. Los datos proporcionados en esta estructura son específicos de la CF_OPERATION_TYPE de la operación.

Sintaxis

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;

Miembros

ParamSize

DUMMYUNIONNAME

DUMMYUNIONNAME.TransferData

Un proveedor de sincronización realiza TRANSFER_DATA para hidratar un archivo de marcador de posición. Esta operación se puede realizar como respuesta a una devolución de llamada de FETCH_DATA , una devolución de llamada VALIDATE_DATA o como parte de un esfuerzo de hidratación en segundo plano preferente fuera de cualquier contexto de devolución de llamada.

Esta API solo es aplicable a los proveedores de sincronización que admiten una directiva de hidratación menor que ALWAYS_FULL. De lo contrario, se producirá un error en la operación con ERROR_CLOUD_FILE_INVALID_REQUEST.

El proveedor de sincronización debe tener WRITE_DATA o WRITE_DAC acceso al archivo en el que se va a realizar la operación de TRANSFER_DATA . De lo contrario, se producirá un error en la operación con ERROR_CLOUD_FILE_ACCESS_DENIED.

Para realizar esta operación:

  • OpInfo.Type debe establecerse en CF_OPERATION_TYPE_TRANSFER_DATA.
  • OpParams.ParamSize debe establecerse en el tamaño exacto de OpParams.TransferData más el desplazamiento de OpParams.TransferData.
  • OpParams.TransferData.Flags debe establecerse en CF_OPERATION_TRANSFER_DATA_FLAG_NONE.
  • OpParams.TransferData.CompletionStatus debe establecerse en STATUS_SUCCESS si el proveedor de sincronización desea transferir datos al archivo de marcador de posición. Si el proveedor de sincronización no puede procesar la solicitud de hidratación por cualquier motivo y no desea reiniciar la hidratación, debe establecer un estado STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.
  • OpParams.TransferData.Buffer debe apuntar a un búfer de modo de usuario válido si OpParams.TransferData.CompletionStatus está STATUS_SUCCESS y debe ser de al menos OpParams.TransferData.Length bytes; de lo contrario, se omite el campo de búfer.
  • OpParams.TransferData.Offset y OpParams.TransferData.Length describen un intervalo en el marcador de posición al que el proveedor de sincronización transfiere los datos. No es necesario que el proveedor de sincronización devuelva todos los datos según se solicite en una sola captura. También es correcto que un proveedor de sincronización devuelva más datos de los solicitados. Por ejemplo, el proveedor de sincronización puede decidir sobre lectura, por motivos de rendimiento u otros motivos. El proveedor de sincronización también puede realizar varias operaciones de TRANSFER_DATA repetidamente como respuesta a la misma devolución de llamada FETCH_DATA . El único requisito es que el desplazamiento y la longitud sean de 4 KB alineados a menos que el intervalo descrito finalice en el tamaño de archivo lógico (EoF), en cuyo caso, no es necesario que la longitud esté alineada a 4 KB siempre que el intervalo resultante finalice o más allá del tamaño del archivo lógico.

Tras la finalización de la operación:

  • Si el proveedor de sincronización no especifica VALIDATION_REQUIRED en la hora de registro raíz de sincronización.

En el caso de transferencia correcta, cualquier E/S de usuario pendiente solicita n el archivo de marcador de posición que haya recibido todos los bytes necesarios como resultado de la transferencia se completará; De lo contrario, las solicitudes de E/S de usuario incompletas se actualizarán para reflejar el estado de hidratación más reciente. En un caso de transferencia con errores, se producirá un error en las solicitudes de E/S de usuario pendientes en el archivo de marcador de posición que se superpongan con el intervalo, tal y como se describe en el desplazamiento y la longitud, con OpParams.TransferData.CompletionStatus.

Si el proveedor de sincronización especifica VALIDATION_REQUIRED en el momento del registro raíz de sincronización, la plataforma no realizará más procesamiento hasta que el proveedor de sincronización confirme positivamente los datos del intervalo a través de una operación de ACK_DATA .

DUMMYUNIONNAME.TransferData.Flags

Marcas para transferir datos. Debe establecerse en CF_OPERATION_TRANSFER_DATA_FLAG_NONE. Consulte CF_OPERATION_TRANSFER_DATA_FLAGS para obtener más información.

DUMMYUNIONNAME.TransferData.CompletionStatus

Estado para transferir datos. Debe establecerse en STATUS_SUCCESS si el proveedor de sincronización desea transferir datos al archivo de marcador de posición. Si el proveedor de sincronización no puede procesar la solicitud de hidratación por cualquier motivo y no desea reiniciar la hidratación, debe establecer un estado STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.

DUMMYUNIONNAME.TransferData.Buffer

Un búfer de modo de usuario válido. Debe apuntar a un búfer de modo de usuario válido si CompletionStatus está STATUS_SUCCESS y debe ser de al menos bytes de longitud . De lo contrario, se omite el campo de búfer.

DUMMYUNIONNAME.TransferData.Offset

Desplazamiento utilizado con la longitud para describir un intervalo en el marcador de posición al que se transfieren los datos. Describe un intervalo en el marcador de posición al que el proveedor de sincronización transfiere los datos. No es necesario que el proveedor de sincronización devuelva todos los datos según se solicite en una sola captura. También es correcto que un proveedor de sincronización devuelva más datos de los solicitados. Por ejemplo, el proveedor de sincronización puede decidir sobre lectura, por motivos de rendimiento u otros motivos. El proveedor de sincronización también puede realizar varias operaciones de TRANSFER_DATA repetidamente como respuesta a la misma devolución de llamada FETCH_DATA . El desplazamiento debe estar alineado con 4 KB.

DUMMYUNIONNAME.TransferData.Length

Longitud en bytes del búfer. La longitud debe estar alineada a 4 KB, a menos que el intervalo descrito finalice en el tamaño de archivo lógico (EoF), en cuyo caso , no es necesario que length esté alineado a 4 KB siempre que el intervalo resultante finalice en o más allá del tamaño del archivo lógico. Incluso si completionStatus no está STATUS_SUCCESS, este campo debe establecerse en un valor válido.

DUMMYUNIONNAME.RetrieveData

Un proveedor de sincronización realiza una operación de RETRIEVE_DATA como parte de la hidratación del marcador de posición para validar la integridad de los datos transferidos previamente al marcador de posición. Esta operación se puede realizar como respuesta a una devolución de llamada de FETCH_DATA , una devolución de llamada VALIDATE_DATA o como parte de un esfuerzo de hidratación en segundo plano preferente fuera de cualquier contexto de devolución de llamada.

Esta API solo es aplicable a los proveedores de sincronización que admiten una directiva de hidratación menor que ALWAYS_FULL. De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_NOT_SUPPORTED.

El proveedor de sincronización es necesario para especificar el modificador de directiva de hidratación VALIDATE_REQUIRED en la hora del registro raíz de sincronización para realizar esta operación. De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_NOT_SUPPORTED.

El proveedor de sincronización debe tener READ_DATA o WRITE_DAC acceso al archivo en el que se va a realizar la operación de RETRIEVE_DATA . De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_ACCESS_DENIED.

Para realizar esta operación:

  • OpInfo.Type debe establecerse en CF_OPERATION_TYPE_RETRIEVE_DATA.
  • OpParams.ParamSize debe establecerse en el tamaño exacto de OpParams.RetrieveData más el desplazamiento de OpParams.RetrieveData.
  • OpParams.RetrieveData.Flags debe establecerse en CF_OPERATION_RETRIEVE_DATA_FLAG_NONE.
  • OpParams.RetrieveData.Buffer debe apuntar a un búfer de modo de usuario válido y tener al menos bytes OpParams.RetrieveData.Length . Una vez completada correctamente la operación, recibe los datos transferidos previamente al marcador de posición a través de TRANSFER_DATA.
  • OpParams.RetrieveData.Offset y OpParams.RetrieveData.Length describen un intervalo en el marcador de posición desde el que el proveedor de sincronización está recuperando datos. El intervalo que se solicita debe haber sido completamente hidratado por una operación de TRANSFER_DATA antes de la operación de RETRIEVE_DATA de lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_INVALID_REQUEST. Tanto el desplazamiento como la longitud son de 4 KB alineados a menos que el intervalo descrito termine en el tamaño de archivo lógico (EoF), en cuyo caso, la longitud no es necesaria para que se alinee 4 KB siempre y cuando termine en o más allá del tamaño del archivo lógico.
  • OpParams.RetrieveData.ReturnedLength recibe el número real de bytes recuperados tras una finalización correcta de la operación.

DUMMYUNIONNAME.RetrieveData.Flags

Marcas para recuperar datos. Debe establecerse en CF_OPERATION_RETRIEVE_DATA_FLAG_NONE. Consulte CF_OPERATION_RETRIEVE_DATA_FLAGS para obtener más información.

DUMMYUNIONNAME.RetrieveData.Buffer

Esto debe apuntar a un búfer de modo de usuario válido y ser de al menos bytes de longitud . Una vez completada correctamente la operación, recibe los datos transferidos previamente al marcador de posición a través de TRANSFER_DATA.

DUMMYUNIONNAME.RetrieveData.Offset

Desplazamiento utilizado con la longitud para describir el intervalo de datos recuperados de un marcador de posición. Describe un intervalo en el marcador de posición desde el que el proveedor de sincronización está recuperando datos. El intervalo que se solicita debe haber sido completamente hidratado por una operación de TRANSFER_DATA antes de la operación de RETRIEVE_DATA de lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_INVALID_REQUEST. El desplazamiento debe estar alineado con 4 KB.

DUMMYUNIONNAME.RetrieveData.Length

Longitud en bytes del búfer. Se trata de 4 KB alineados a menos que el intervalo descrito termine en el tamaño de archivo lógico (EoF), en cuyo caso, Length no es necesario que tenga una alineación de 4 KB siempre que termine en o más allá del tamaño del archivo lógico.

DUMMYUNIONNAME.RetrieveData.ReturnedLength

Número de bytes recuperados al completar correctamente la operación.

DUMMYUNIONNAME.AckData

Un proveedor de sincronización realiza una operación de ACK_DATA como parte de la hidratación del marcador de posición después de validar la integridad de los datos transferidos previamente a la plataforma. Esta operación se puede realizar como respuesta a una devolución de llamada de FETCH_DATA , una devolución de llamada VALIDATE_DATA o como parte de un esfuerzo de hidratación en segundo plano preferente fuera de cualquier contexto de devolución de llamada.

Esta API solo es aplicable a los proveedores de sincronización que admiten una directiva de hidratación menor que ALWAYS_FULL. De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_NOT_SUPPORTED.

El proveedor de sincronización es necesario para especificar el modificador de directiva de hidratación VALIDATE_REQUIRED en la hora del registro raíz de sincronización para realizar esta operación. De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_NOT_SUPPORTED.

El proveedor de sincronización debe tener READ_DATA o WRITE_DAC acceso al archivo en el que se va a realizar la operación de ACK_DATA . De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_ACCESS_DENIED.

Para realizar esta operación:

  • OpInfo.Type debe establecerse en CF_OPERATION_TYPE_ACK_DATA.
  • OpParams.ParamSize debe establecerse en el tamaño exacto de OpParams.AckData más el offset de OpParams.AckData.
  • OpParams.AckData.Flags debe establecerse en CF_OPERATION_ACK_DATA_FLAG_NONE.
  • OpParams.AckData.CompletionStatus debe establecerse en STATUS_SUCCESS si el proveedor de sincronización valida los datos dentro del intervalo que se va a confirmar es correcto. Si el proveedor de sincronización no puede validar los datos por cualquier motivo y no desea reiniciar la hidratación, debe establecer un estado de STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.
  • OpParams.AckData.Offset y OpParams.AckData.Length describen un intervalo en el marcador de posición cuyos datos va a ser reconocido por el proveedor de sincronización. El intervalo que se solicita no necesita hidratarse completamente mediante una operación de TRANSFER_DATA antes de la operación. El desplazamiento y la longitud son de 4 KB alineados a menos que el intervalo descrito termine en el tamaño de archivo lógico (EoF), en cuyo caso, no es necesario que Length esté alineado a 4 KB siempre y cuando termine en o más allá del tamaño del archivo lógico.
  • Una longitud de -1, que se indica como CF_EOF, significa infinito (es decir, al final del archivo).

Tras una operación de ACK_DATA correcta, se completarán todas las solicitudes de E/S de usuario pendientes en el archivo de marcador de posición que hayan recibido todos los bytes necesarios como resultado de la operación de ACK_DATA ; De lo contrario, las solicitudes de E/S de usuario incompletas se actualizarán para reflejar el estado de hidratación más reciente. En un caso de error ACK_DATA caso, se producirá un error en las solicitudes de E/S de usuario pendientes en el archivo de marcador de posición que se superpongan con el intervalo tal y como se describe en Offset y Length con CompletionStatus.

DUMMYUNIONNAME.AckData.Flags

Marcas para la confirmación de datos. Debe establecerse en CF_OPERATION_ACK_DATA_FLAG_NONE. Consulte CF_OPERATION_ACK_DATA_FLAGS para obtener más información.

DUMMYUNIONNAME.AckData.CompletionStatus

Estado de finalización de la confirmación de datos. Debe establecerse en STATUS_SUCCESS si el proveedor de sincronización valida los datos dentro del intervalo que se van a confirmar es correcto. Si el proveedor de sincronización no puede validar los datos por cualquier motivo y no desea reiniciar la hidratación, debe establecer un estado de STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.

DUMMYUNIONNAME.AckData.Offset

Desplazamiento en bytes de los datos de marcador de posición que se van a confirmar. Offset describe un intervalo en el marcador de posición cuyos datos va a ser reconocido por el proveedor de sincronización. El intervalo que se solicita no necesita hidratarse completamente mediante una operación de TRANSFER_DATA antes de la operación. El desplazamiento debe estar alineado con 4 KB.

DUMMYUNIONNAME.AckData.Length

Longitud en bytes de datos en el marcador de posición que se va a confirmar. Debe estar alineado a 4 KB, a menos que el intervalo descrito finalice en el tamaño de archivo lógico (EoF), en cuyo caso, Length no es necesario que tenga una alineación de 4 KB siempre y cuando termine en o más allá del tamaño del archivo lógico. Una longitud de -1, que se indica como CF_EOF, significa infinito (es decir, al final del archivo).

DUMMYUNIONNAME.RestartHydration

Un proveedor de sincronización realiza una operación de RESTART_HYDRATION para reiniciar una hidratación continua. Esta operación se puede realizar como respuesta a una devolución de llamada de FETCH_DATA , una devolución de llamada VALIDATE_DATA o como parte de un esfuerzo de hidratación en segundo plano preferente fuera de cualquier contexto de devolución de llamada.

Esta API solo es aplicable a los proveedores de sincronización que admiten la directiva de hidratación COMPLETA . De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_NOT_SUPPORTED.

El proveedor de sincronización debe tener WRITE_DATA o WRITE_DAC acceso al archivo en el que se va a realizar la operación de RESTART_HYDRATION . De lo contrario, se producirá un error en la operación con STATUS_CLOUD_FILE_ACCESS_DENIED.

Para realizar esta operación:

  • OpInfo.Type debe establecerse en CF_OPERATION_TYPE_RESTART_HYDRATION.
  • OpParams.ParamSize debe establecerse en el tamaño exacto de OpParams.RestartHydration más el desplazamiento de OpParams.RestartHydration.
  • OpParams.RestartHydration.Flags debe establecerse en CF_OPERATION_RESTART_HYDRATION_FLAG_NONE o en CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC.
    • Si se especifica CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC , el marcador de posición se marcará sincronizado tras una operación de RESTART_HYDRATION correcta.
  • OpParams.RestartHydration.FsMetadata es opcional. Cuando se proporciona:
    • Un 0 valor en el campo de marca de tiempo (CreationTime, LastAccessTime, LastWriteTime y ChangeTime) no significa ningún cambio en la marca de tiempo actual del archivo.
    • Un 0 valor de FileAttributes significa que no hay ningún cambio en los atributos de archivo actuales del archivo.
    • No hay ningún valor especial en FileSize. Un 0 valor de FileSize trunca el tamaño del archivo en 0.
  • OpParams.RestartHydration.FileIdentity y OpParams.RestartHydration.FileIdentityLength son opcionales. Cuando se proporciona, la nueva identidad se conservará en el archivo. De lo contrario, la identidad del archivo actual permanece.

El proveedor de sincronización llama a esta API en caso de que determine que los datos en disco de un marcador de posición no son válidos y no son adecuados para satisfacer las solicitudes de E/S. El escenario típico es que los datos recuperados por algún motivo han producido un error en una comprobación de suma de comprobación. Otro escenario de uso se produce cuando durante el transcurso de la hidratación, el contenido del archivo se ha actualizado realmente en la nube (y el proveedor de sincronización no puede recuperar el contenido histórico de la nube correspondiente a la versión del marcador de posición local).

Tras un reinicio correcto, el marcador de posición se deshidrará completamente y se actualizará con los nuevos metadatos, si los hubiera. Las solicitudes de E/S de usuario pendientes, si hay alguna, se volverán a procesar como si llegaran y, como resultado, el proveedor de sincronización recibirá nuevas devoluciones de llamada que tienen el mismo aspecto que los que el proveedor de sincronización recibió anteriormente.

Sin embargo, si se produce un error en el reinicio por cualquier motivo, el marcador de posición podría dejarse en un estado no determinista en función de dónde se encontró el error y se producirán errores en todas las solicitudes de E/S de usuario pendientes en el marcador de posición. Lo único que garantiza la plataforma en este caso es que el acceso futuro del usuario al archivo de marcador de posición desencadenará las mismas devoluciones de llamada.

DUMMYUNIONNAME.RestartHydration.Flags

Marcas para reiniciar la hidratación del marcador de posición. Debe establecerse en CF_OPERATION_RESTART_HYDRATION_FLAG_NONE o en CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC. Si se especifica CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC , el marcador de posición se marcará sincronizado tras una operación de RESTART_HYDRATION correcta. Consulte CF_OPERATION_RESTART_HYDRATION_FLAGS para obtener más información.

DUMMYUNIONNAME.RestartHydration.FsMetadata

Opcional. Contiene actualizaciones de los metadatos de los archivos. Cuando se especifica:

  • Un 0 valor en el campo de marca de tiempo (CreationTime, LastAccessTime, LastWriteTime y ChangeTime) no significa ningún cambio en la marca de tiempo actual del archivo.
  • Un 0 valor de FileAttributes no significa ningún cambio en los atributos de archivo actuales del archivo.
  • No hay ningún valor especial en FileSize. Un 0 valor de FileSize trunca el tamaño del archivo en 0.

DUMMYUNIONNAME.RestartHydration.FileIdentity

Opcional. Cuando se proporciona, la identidad del archivo se actualiza a este valor. De lo contrario, sigue siendo el mismo.

DUMMYUNIONNAME.RestartHydration.FileIdentityLength

Opcional. Especifica la longitud de FileIdentity.

DUMMYUNIONNAME.TransferPlaceholders

DUMMYUNIONNAME.TransferPlaceholders.Flags

Marcas para transferir marcadores de posición. Consulte CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS para obtener más información.

DUMMYUNIONNAME.TransferPlaceholders.CompletionStatus

Estado de finalización de la operación de marcadores de posición de transferencia.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderTotalCount

Número total de marcadores de posición.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderArray

Matriz de marcadores de posición que se van a transferir.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderCount

Número de marcadores de posición que se transfieren.

DUMMYUNIONNAME.TransferPlaceholders.EntriesProcessed

Entradas de marcador de posición que se han procesado.

DUMMYUNIONNAME.AckDehydrate

DUMMYUNIONNAME.AckDehydrate.Flags

Marcas de confirmación de datos deshidratadas. Consulte CF_OPERATION_ACK_DEHYDRATE_FLAGS para obtener más información.

DUMMYUNIONNAME.AckDehydrate.CompletionStatus

Estado de finalización de la operación de confirmación de deshidratación. Debe establecerse en STATUS_SUCCESS si el proveedor de sincronización puede permitir que la deshidratación continúe. Si el proveedor de sincronización pretende impedir la deshidratación por cualquier motivo, debe establecer un estado de STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.

DUMMYUNIONNAME.AckDehydrate.FileIdentity

Identidad de archivo del archivo de marcador de posición para la que se van a confirmar los datos deshidratos.

DUMMYUNIONNAME.AckDehydrate.FileIdentityLength

Longitud, en bytes, de FileIdentity.

DUMMYUNIONNAME.AckRename

DUMMYUNIONNAME.AckRename.Flags

Confirme los marcadores de posición de cambio de nombre. Consulte CF_OPERATION_ACK_RENAME_FLAGS para obtener más información.

DUMMYUNIONNAME.AckRename.CompletionStatus

Estado de finalización de la operación de cambio de nombre de confirmación. Debe establecerse en STATUS_SUCCESS si el proveedor de sincronización puede permitir que la operación de cambio de nombre continúe. Si el proveedor de sincronización pretende no permitir el cambio de nombre por cualquier motivo, debe establecer un estado de STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.

DUMMYUNIONNAME.AckDelete

DUMMYUNIONNAME.AckDelete.Flags

Confirme las marcas de eliminación. Consulte CF_OPERATION_ACK_DELETE_FLAGS para obtener más información.

DUMMYUNIONNAME.AckDelete.CompletionStatus

Estado de finalización de la operación de eliminación de confirmación. Debe establecerse en STATUS_SUCCESS si el proveedor de sincronización puede permitir que la operación de eliminación continúe. Si el proveedor de sincronización pretende impedir la eliminación por cualquier motivo, debe establecer un estado de STATUS_CLOUD_FILE_* en CompletionStatus. Cualquier código de estado devuelto fuera del intervalo de STATUS_CLOUD_FILE_* excepto STATUS_SUCCESS se convertirá en STATUS_CLOUD_FILE_UNSUCCESSFUL por la plataforma.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1709 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Encabezado cfapi.h

Consulte también

CfExecute

CF_OPERATION_TRANSFER_DATA_FLAGS

CF_OPERATION_RETRIEVE_DATA_FLAGS