Partager via


structure CF_OPERATION_PARAMETERS (cfapi.h)

Paramètres détaillés d’une opération sur un fichier ou un dossier d’espace réservé. Les données fournies dans cette structure sont spécifiques au CF_OPERATION_TYPE de l’opération.

Syntaxe

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;

Membres

ParamSize

DUMMYUNIONNAME

DUMMYUNIONNAME.TransferData

Un fournisseur de synchronisation effectue TRANSFER_DATA pour hydrater un fichier d’espace réservé. Cette opération peut être effectuée en réponse à un rappel FETCH_DATA , un rappel VALIDATE_DATA ou dans le cadre d’un effort d’hydratation en arrière-plan préemptif en dehors de n’importe quel contexte de rappel.

Cette API s’applique uniquement aux fournisseurs de synchronisation qui prennent en charge une stratégie d’hydratation inférieure à ALWAYS_FULL. Sinon, l’opération échoue avec ERROR_CLOUD_FILE_INVALID_REQUEST.

Le fournisseur de synchronisation doit disposer d’un accès WRITE_DATA ou WRITE_DAC au fichier sur lequel l’opération de TRANSFER_DATA doit être effectuée. Sinon, l’opération échoue avec ERROR_CLOUD_FILE_ACCESS_DENIED.

Pour effectuer cette opération :

  • OpInfo.Type doit être défini sur CF_OPERATION_TYPE_TRANSFER_DATA.
  • OpParams.ParamSize doit être défini sur la taille exacte de OpParams.TransferData plus le décalage de OpParams.TransferData.
  • OpParams.TransferData.Flags doit être défini sur CF_OPERATION_TRANSFER_DATA_FLAG_NONE.
  • OpParams.TransferData.CompletionStatus doit être défini sur STATUS_SUCCESS si le fournisseur de synchronisation souhaite transférer des données vers le fichier d’espace réservé. Si le fournisseur de synchronisation ne parvient pas à traiter la demande d’hydratation pour une raison quelconque et ne souhaite pas redémarrer l’hydratation, il doit définir une STATUS_CLOUD_FILE_* status dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.
  • OpParams.TransferData.Buffer doit pointer vers une mémoire tampon de mode utilisateur valide si OpParams.TransferData.CompletionStatus est STATUS_SUCCESS et doit être d’au moins des octets OpParams.TransferData.Length ; sinon, le champ de mémoire tampon est ignoré.
  • OpParams.TransferData.Offset et OpParams.TransferData.Length décrivent une plage dans l’espace réservé vers lequel le fournisseur de synchronisation transfère les données. Il n’est pas nécessaire que le fournisseur de synchronisation retourne toutes les données demandées en une seule fois. Il est également acceptable pour un fournisseur de synchronisation de retourner plus de données que demandé. Par exemple, le fournisseur de synchronisation peut décider de lire trop, pour des raisons de performances ou pour d’autres raisons. Le fournisseur de synchronisation peut également effectuer plusieurs opérations de TRANSFER_DATA à plusieurs reprises en réponse au même rappel FETCH_DATA . La seule exigence est que le décalage et la longueur soient alignés de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, la longueur n’est pas requise pour être alignée de 4 Ko tant que la plage résultante se termine sur ou au-delà de la taille de fichier logique.

Une fois l’opération terminée :

  • Si le fournisseur de synchronisation ne spécifie pas VALIDATION_REQUIRED à l’heure d’inscription racine de synchronisation.

Dans le cas du transfert réussi, toute demande d’E/S utilisateur en attente dans le fichier d’espace réservé qui a reçu tous les octets nécessaires à la suite du transfert est terminée ; sinon, les demandes d’E/S utilisateur incomplètes seront mises à jour pour refléter l’état d’hydratation le plus récent. Dans un cas de transfert ayant échoué, toutes les demandes d’E/S utilisateur en attente sur le fichier d’espace réservé qui chevauchent la plage comme décrit par le décalage et la longueur échouent avec OpParams.TransferData.CompletionStatus.

Si le fournisseur de synchronisation spécifie VALIDATION_REQUIRED au moment de l’inscription racine de synchronisation, plus aucun traitement ne sera effectué par la plateforme tant que les données de la plage ne seront pas reconnues positivement par le fournisseur de synchronisation via une opération de ACK_DATA .

DUMMYUNIONNAME.TransferData.Flags

Indicateurs pour le transfert de données. Cette valeur doit être définie sur CF_OPERATION_TRANSFER_DATA_FLAG_NONE. Pour plus d’informations, consultez CF_OPERATION_TRANSFER_DATA_FLAGS .

DUMMYUNIONNAME.TransferData.CompletionStatus

État du transfert de données. Cette valeur doit être définie sur STATUS_SUCCESS si le fournisseur de synchronisation souhaite transférer des données vers le fichier d’espace réservé. Si le fournisseur de synchronisation ne parvient pas à traiter la demande d’hydratation pour une raison quelconque et ne souhaite pas redémarrer l’hydratation, il doit définir une STATUS_CLOUD_FILE_* status dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.

DUMMYUNIONNAME.TransferData.Buffer

Mémoire tampon en mode utilisateur valide. Cela doit pointer vers une mémoire tampon de mode utilisateur valide si CompletionStatus est STATUS_SUCCESS et doit avoir au moins des octets de longueur . Sinon, le champ de mémoire tampon est ignoré.

DUMMYUNIONNAME.TransferData.Offset

Décalage utilisé avec la longueur pour décrire une plage dans l’espace réservé vers lequel les données sont transférées. Il décrit une plage dans l’espace réservé vers lequel le fournisseur de synchronisation transfère les données. Il n’est pas nécessaire que le fournisseur de synchronisation retourne toutes les données demandées en une seule fois. Il est également acceptable pour un fournisseur de synchronisation de retourner plus de données que demandé. Par exemple, le fournisseur de synchronisation peut décider de lire trop, pour des raisons de performances ou pour d’autres raisons. Le fournisseur de synchronisation peut également effectuer plusieurs opérations de TRANSFER_DATA à plusieurs reprises en réponse au même rappel FETCH_DATA . Le décalage doit être aligné de 4 Ko.

DUMMYUNIONNAME.TransferData.Length

Longueur en octets de la mémoire tampon. La longueur doit être alignée de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, la longueur n’est pas requise pour être alignée de 4 Ko tant que la plage résultante se termine sur ou au-delà de la taille de fichier logique. Même si CompletionStatus n’est pas STATUS_SUCCESS, ce champ doit être défini sur une valeur valide.

DUMMYUNIONNAME.RetrieveData

Un fournisseur de synchronisation effectue une opération de RETRIEVE_DATA dans le cadre de l’hydratation de l’espace réservé afin de valider l’intégrité des données précédemment transférées vers l’espace réservé. Cette opération peut être effectuée en réponse à un rappel FETCH_DATA , un rappel VALIDATE_DATA ou dans le cadre d’un effort d’hydratation en arrière-plan préemptif en dehors de n’importe quel contexte de rappel.

Cette API s’applique uniquement aux fournisseurs de synchronisation qui prennent en charge une stratégie d’hydratation inférieure à ALWAYS_FULL. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_NOT_SUPPORTED.

Le fournisseur de synchronisation doit spécifier le modificateur de stratégie d’hydratation VALIDATE_REQUIRED au moment de l’inscription racine de la synchronisation afin d’effectuer cette opération. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_NOT_SUPPORTED.

Le fournisseur de synchronisation doit disposer d’un accès READ_DATA ou WRITE_DAC au fichier sur lequel l’opération de RETRIEVE_DATA doit être effectuée. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_ACCESS_DENIED.

Pour effectuer cette opération :

  • OpInfo.Type doit être défini sur CF_OPERATION_TYPE_RETRIEVE_DATA.
  • OpParams.ParamSize doit être défini sur la taille exacte de OpParams.RetrieveData plus le décalage de OpParams.RetrieveData.
  • OpParams.RetrieveData.Flags doit être défini sur CF_OPERATION_RETRIEVE_DATA_FLAG_NONE.
  • OpParams.RetrieveData.Buffer doit pointer vers une mémoire tampon de mode utilisateur valide et avoir au moins des octets OpParams.RetrieveData.Length . Une fois l’opération terminée, elle reçoit les données précédemment transférées vers l’espace réservé via TRANSFER_DATA.
  • OpParams.RetrieveData.Offset et OpParams.RetrieveData.Length décrivent une plage dans l’espace réservé à partir de laquelle le fournisseur de synchronisation récupère des données. La plage demandée doit avoir été entièrement hydratée par une opération de TRANSFER_DATA avant l’opération de RETRIEVE_DATA , sinon l’opération échoue avec STATUS_CLOUD_FILE_INVALID_REQUEST. Le décalage et la longueur sont alignés de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, la longueur n’est pas obligatoirement alignée de 4 Ko tant qu’elle se termine sur ou au-delà de la taille de fichier logique.
  • OpParams.RetrieveData.ReturnedLength reçoit le nombre réel d’octets récupérés une fois l’opération terminée.

DUMMYUNIONNAME.RetrieveData.Flags

Indicateurs pour la récupération des données. Cette valeur doit être définie sur CF_OPERATION_RETRIEVE_DATA_FLAG_NONE. Pour plus d’informations , consultez CF_OPERATION_RETRIEVE_DATA_FLAGS .

DUMMYUNIONNAME.RetrieveData.Buffer

Cela doit pointer vers une mémoire tampon de mode utilisateur valide et avoir au moins des octets de longueur . Une fois l’opération terminée, elle reçoit les données précédemment transférées vers l’espace réservé via TRANSFER_DATA.

DUMMYUNIONNAME.RetrieveData.Offset

Décalage utilisé avec la longueur pour décrire la plage de données récupérées à partir d’un espace réservé. Il décrit une plage dans l’espace réservé à partir de laquelle le fournisseur de synchronisation récupère des données. La plage demandée doit avoir été entièrement hydratée par une opération de TRANSFER_DATA avant l’opération de RETRIEVE_DATA , sinon l’opération échoue avec STATUS_CLOUD_FILE_INVALID_REQUEST. Le décalage doit être aligné de 4 Ko.

DUMMYUNIONNAME.RetrieveData.Length

Longueur en octets de la mémoire tampon. Il s’agit d’un alignement de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, longueur n’est pas obligatoirement alignée de 4 Ko tant qu’elle se termine sur ou au-delà de la taille du fichier logique.

DUMMYUNIONNAME.RetrieveData.ReturnedLength

Nombre d’octets récupérés une fois l’opération terminée.

DUMMYUNIONNAME.AckData

Un fournisseur de synchronisation effectue une opération de ACK_DATA dans le cadre de l’hydratation de l’espace réservé après avoir validé l’intégrité des données précédemment transférées vers la plateforme. Cette opération peut être effectuée en réponse à un rappel FETCH_DATA , un rappel VALIDATE_DATA ou dans le cadre d’un effort d’hydratation en arrière-plan préemptif en dehors de n’importe quel contexte de rappel.

Cette API s’applique uniquement aux fournisseurs de synchronisation qui prennent en charge une stratégie d’hydratation inférieure à ALWAYS_FULL. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_NOT_SUPPORTED.

Le fournisseur de synchronisation doit spécifier le modificateur de stratégie d’hydratation VALIDATE_REQUIRED au moment de l’inscription racine de la synchronisation pour effectuer cette opération. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_NOT_SUPPORTED.

Le fournisseur de synchronisation doit disposer d’un accès READ_DATA ou WRITE_DAC au fichier sur lequel l’opération de ACK_DATA doit être effectuée. Sinon, l’opération échoue avec STATUS_CLOUD_FILE_ACCESS_DENIED.

Pour effectuer cette opération :

  • OpInfo.Type doit être défini sur CF_OPERATION_TYPE_ACK_DATA.
  • OpParams.ParamSize doit être défini sur la taille exacte de OpParams.AckData plus le décalaged’OpParams.AckData.
  • OpParams.AckData.Flags doit être défini sur CF_OPERATION_ACK_DATA_FLAG_NONE.
  • OpParams.AckData.CompletionStatus doit être défini sur STATUS_SUCCESS si le fournisseur de synchronisation valide les données dans la plage à reconnaître. Si le fournisseur de synchronisation ne parvient pas à valider les données pour une raison quelconque et ne souhaite pas redémarrer l’hydratation, il doit définir une STATUS_CLOUD_FILE_* status dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.
  • OpParams.AckData.Offset et OpParams.AckData.Length décrivent une plage dans l’espace réservé dont les données seront reconnues par le fournisseur de synchronisation. La plage demandée n’a pas besoin d’être entièrement hydratée par une opération de TRANSFER_DATA avant l’opération. Le décalage et la longueur sont alignés de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, longueur n’est pas obligatoirement alignée de 4 Ko tant qu’elle se termine sur ou au-delà de la taille du fichier logique.
  • La longueur de -1, désignée comme CF_EOF, signifie infini (c’est-à-dire à la fin du fichier).

Une fois l’opération de ACK_DATA réussie, toutes les demandes d’E/S utilisateur en attente sur le fichier d’espace réservé qui ont reçu tous les octets nécessaires à la suite de l’opération de ACK_DATA sont terminées ; sinon, les demandes d’E/S utilisateur incomplètes seront mises à jour pour refléter l’état d’hydratation le plus récent. Dans un cas d’échec ACK_DATA , toutes les demandes d’E/S utilisateur en attente sur le fichier d’espace réservé qui chevauchent la plage, comme décrit par Offset et Length , échouent avec CompletionStatus.

DUMMYUNIONNAME.AckData.Flags

Indicateurs pour l’accusé de réception des données. Cette valeur doit être définie sur CF_OPERATION_ACK_DATA_FLAG_NONE. Pour plus d’informations, consultez CF_OPERATION_ACK_DATA_FLAGS .

DUMMYUNIONNAME.AckData.CompletionStatus

Achèvement status de l’accusé de réception des données. Cette valeur doit être définie sur STATUS_SUCCESS si le fournisseur de synchronisation vérifie que les données dans la plage à reconnaître sont bonnes. Si le fournisseur de synchronisation ne parvient pas à valider les données pour une raison quelconque et ne souhaite pas redémarrer l’hydratation, il doit définir une STATUS_CLOUD_FILE_* status dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.

DUMMYUNIONNAME.AckData.Offset

Décalage en octets des données d’espace réservé à reconnaître. Offset décrit une plage dans l’espace réservé dont les données seront reconnues par le fournisseur de synchronisation. La plage demandée n’a pas besoin d’être entièrement hydratée par une opération de TRANSFER_DATA avant l’opération. Le décalage doit être aligné de 4 Ko.

DUMMYUNIONNAME.AckData.Length

Longueur en octets de données dans l’espace réservé à reconnaître. Doit être aligné de 4 Ko, sauf si la plage décrite se termine sur la taille de fichier logique (EoF), auquel cas, longueur n’est pas requise pour être alignée de 4 Ko tant qu’elle se termine sur ou au-delà de la taille du fichier logique. La longueur de -1, désignée comme CF_EOF, signifie infini (c’est-à-dire à la fin du fichier).

DUMMYUNIONNAME.RestartHydration

Un fournisseur de synchronisation effectue une opération de RESTART_HYDRATION pour redémarrer une hydratation en cours. Cette opération peut être effectuée en réponse à un rappel FETCH_DATA , un rappel VALIDATE_DATA ou dans le cadre d’un effort d’hydratation en arrière-plan préemptif en dehors de n’importe quel contexte de rappel.

Cette API s’applique uniquement aux fournisseurs de synchronisation qui prennent en charge la stratégie d’hydratation COMPLÈTE . Sinon, l’opération échoue avec STATUS_CLOUD_FILE_NOT_SUPPORTED.

Le fournisseur de synchronisation doit disposer d’un accès WRITE_DATA ou WRITE_DAC au fichier sur lequel l’opération de RESTART_HYDRATION doit être effectuée. Dans le cas contraire, l’opération échoue avec STATUS_CLOUD_FILE_ACCESS_DENIED.

Pour effectuer cette opération :

  • OpInfo.Type doit être défini sur CF_OPERATION_TYPE_RESTART_HYDRATION.
  • OpParams.ParamSize doit être défini sur la taille exacte de OpParams.RestartHydration plus le décalage de OpParams.RestartHydration.
  • OpParams.RestartHydration.Flags doit être défini sur CF_OPERATION_RESTART_HYDRATION_FLAG_NONE ou CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC.
    • Si CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC est spécifié, l’espace réservé est marqué de manière synchronisée lors d’une opération de RESTART_HYDRATION réussie.
  • OpParams.RestartHydration.FsMetadata est facultatif. Lorsqu’il est fourni :
    • Une 0 valeur dans le champ timestamp (CreationTime, LastAccessTime, LastWriteTime et ChangeTime) signifie qu’aucune modification n’est apportée à l’horodatage actuel sur le fichier.
    • Une 0 valeur dans FileAttributes signifie qu’il n’y a aucune modification des attributs de fichier actuels sur le fichier.
    • Il n’existe aucune valeur spéciale dans FileSize. Une 0 valeur dans FileSize tronque la taille du fichier sur 0.
  • OpParams.RestartHydration.FileIdentity et OpParams.RestartHydration.FileIdentityLength sont facultatifs. Lorsqu’elle est fournie, la nouvelle identité est conservée dans le fichier. Sinon, l’identité de fichier actuelle reste.

Le fournisseur de synchronisation appelle cette API dans le cas où il détermine que les données sur disque dans un espace réservé ne sont en fait pas valides et ne conviennent pas pour satisfaire les demandes d’E/S. Le scénario classique est que les données récupérées ont échoué, pour une raison quelconque, à une vérification de la somme de contrôle. Un autre scénario d’utilisation se produit quand, au cours de l’hydratation, le contenu du fichier a été mis à jour dans le cloud (et le fournisseur de synchronisation n’est pas en mesure de récupérer le contenu historique du cloud correspondant à la version de l’espace réservé local).

Après un redémarrage réussi, l’espace réservé est complètement déshydraté et mis à jour avec les nouvelles métadonnées, le cas échéant. Les demandes d’E/S utilisateur en attente, le cas échéant, seront retraitées comme si elles venaient d’arriver et, par conséquent, le fournisseur de synchronisation recevra de nouveaux rappels qui ressemblent exactement à ceux reçus précédemment par le fournisseur de synchronisation.

Si, toutefois, le redémarrage a échoué pour une raison quelconque, l’espace réservé peut être laissé dans un état non déterministe en fonction de l’emplacement où l’erreur a été rencontrée et toutes les demandes d’E/S utilisateur en attente sur l’espace réservé échouent avec la même erreur. La seule chose que la plateforme garantit dans ce cas est que l’accès des utilisateurs futurs au fichier d’espace réservé déclenchera les mêmes rappels.

DUMMYUNIONNAME.RestartHydration.Flags

Indicateurs de redémarrage de l’hydratation de l’espace réservé. Cette valeur doit être définie sur CF_OPERATION_RESTART_HYDRATION_FLAG_NONE ou CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC. Si CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC est spécifié, l’espace réservé est marqué de manière synchronisée lors d’une opération de RESTART_HYDRATION réussie. Pour plus d’informations, consultez CF_OPERATION_RESTART_HYDRATION_FLAGS .

DUMMYUNIONNAME.RestartHydration.FsMetadata

facultatif. Contient les mises à jour des métadonnées des fichiers. Lorsque spécifié :

  • Une 0 valeur dans le champ timestamp (CreationTime, LastAccessTime, LastWriteTime et ChangeTime) signifie qu’aucune modification n’est apportée à l’horodatage actuel sur le fichier.
  • Une 0 valeur dans FileAttributes signifie qu’aucune modification n’est apportée aux attributs de fichier actuels sur le fichier.
  • Il n’existe aucune valeur spéciale dans FileSize. Une 0 valeur dans FileSize tronque la taille du fichier sur 0.

DUMMYUNIONNAME.RestartHydration.FileIdentity

facultatif. Lorsqu’elle est fournie, l’identité de fichier est mise à jour vers cette valeur. Sinon, il reste le même.

DUMMYUNIONNAME.RestartHydration.FileIdentityLength

facultatif. Cela spécifie la longueur de FileIdentity.

DUMMYUNIONNAME.TransferPlaceholders

DUMMYUNIONNAME.TransferPlaceholders.Flags

Indicateurs pour le transfert d’espaces réservés. Pour plus d’informations, consultez CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS .

DUMMYUNIONNAME.TransferPlaceholders.CompletionStatus

Fin status de l’opération d’espaces réservés de transfert.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderTotalCount

Nombre total d’espaces réservés.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderArray

Tableau d’espaces réservés à transférer.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderCount

Nombre d’espaces réservés transférés.

DUMMYUNIONNAME.TransferPlaceholders.EntriesProcessed

Entrées d’espace réservé qui ont été traitées.

DUMMYUNIONNAME.AckDehydrate

DUMMYUNIONNAME.AckDehydrate.Flags

Indicateurs d’accusé de réception de données déshydratés. Pour plus d’informations , consultez CF_OPERATION_ACK_DEHYDRATE_FLAGS .

DUMMYUNIONNAME.AckDehydrate.CompletionStatus

L’achèvement status de l’opération de déshydratation d’accusé de réception. Cela doit être défini sur STATUS_SUCCESS si le fournisseur de synchronisation est en mesure d’autoriser la déshydratation à se poursuivre. Si le fournisseur de synchronisation a l’intention d’interdire la déshydratation pour une raison quelconque, il doit définir une status STATUS_CLOUD_FILE_* dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.

DUMMYUNIONNAME.AckDehydrate.FileIdentity

Identité du fichier d’espace réservé pour lequel reconnaître les données déshydratées.

DUMMYUNIONNAME.AckDehydrate.FileIdentityLength

Longueur, en octets, de FileIdentity.

DUMMYUNIONNAME.AckRename

DUMMYUNIONNAME.AckRename.Flags

Accusez réception des indicateurs d’espace réservé de renommage. Pour plus d’informations, consultez CF_OPERATION_ACK_RENAME_FLAGS .

DUMMYUNIONNAME.AckRename.CompletionStatus

Fin status de l’opération de renommage de accusé de réception. Cela doit être défini sur STATUS_SUCCESS si le fournisseur de synchronisation est en mesure d’autoriser l’opération de renommage à se poursuivre. Si le fournisseur de synchronisation a l’intention d’interdire le renommage pour une raison quelconque, il doit définir une status STATUS_CLOUD_FILE_* dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.

DUMMYUNIONNAME.AckDelete

DUMMYUNIONNAME.AckDelete.Flags

Accusez réception des indicateurs de suppression. Pour plus d’informations, consultez CF_OPERATION_ACK_DELETE_FLAGS .

DUMMYUNIONNAME.AckDelete.CompletionStatus

Fin status de l’opération d’accusé de réception de suppression. Cela doit être défini sur STATUS_SUCCESS si le fournisseur de synchronisation est en mesure d’autoriser l’opération de suppression à se poursuivre. Si le fournisseur de synchronisation a l’intention d’interdire la suppression pour une raison quelconque, il doit définir une status STATUS_CLOUD_FILE_* dans CompletionStatus. Tout code status retourné en dehors de la plage de STATUS_CLOUD_FILE_* à l’exception de STATUS_SUCCESS sera converti en STATUS_CLOUD_FILE_UNSUCCESSFUL par la plateforme.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1709 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
En-tête cfapi.h

Voir aussi

CfExecute

CF_OPERATION_TRANSFER_DATA_FLAGS

CF_OPERATION_RETRIEVE_DATA_FLAGS