Utilisation de CSISyncClient pour contrôler le cache de documents Office (ODC)

Découvrez comment utiliser CSISyncClient pour contrôler le cache de documents Office (ODC).

CSISyncClient est un serveur COM hors processus (CsiSyncClient.exe) qui permet à Microsoft OneDrive de contrôler le comportement du cache de documents Office (ODC). Par exemple, OneDrive peut appeler l’ODC via CSISyncClient pour charger et télécharger des fichiers vers et à partir de points de terminaison compatibles MS-FSSHTTP. Cela permet des fonctionnalités avancées soutenues par le service dans Office, telles que la co-création et les transitions transparentes du mode hors connexion à la connexion en ligne.

CsiSyncClient est disponible dans Office Desktop (x86 et x64). Remarque : Bien que les versions plus récentes d’Office puissent être fournies avec CsiSyncClient, le processus sera utilisé à des fins de compatibilité descendante uniquement. L’interface CsiSyncClient et la méthodologie de contrôle de l’ODC changeront dans les versions ultérieures d’Office.

L’ID de classe est actuellement défini pour répondre uniquement à OneDrive.

L’objet COM est utilisable en tant que serveur COM hors processus et s’exécute dans CsiSyncClient.exe. En raison des limitations d’Access (que l’ODC utilise), il est fourni avec le type de bits fourni par Office. Par conséquent, Office x64 signifie un objet COM x64, ou Office x86 signifie un objet COM x86. Pour contourner cette limitation, en spécifiant CLSCTX_LOCAL_SERVER dans le cadre de CoCreateInstance, l’objet COM sera hébergé en tant que serveur COM hors processus, ce qui permet une compatibilité entre bits.

Interfaces

CSISyncClient utilise les interfaces suivantes.

Interface ILSCLocalSyncClient

Il s’agit de l’interface principale utilisée pour synchroniser les fichiers dans Office.

  • ProgID : Office.LocalSyncClient
  • CLSID : {14286318-B6CF-49a1-81FC-D74AD94902F9}
  • TypeLib : {66CDD37F-D313-4e81-8C31-4198F3E42C3C}

L’objet COM exposé est utilisé comme serveur hors processus. La spécification de CLSCTX_LOCAL_SERVER dans le cadre de CoCreateInstance permet la compatibilité entre les processus 64 bits et 32 bits.

Une fois que vous avez co-créé l’objet COM, vous DEVEZ d’abord appeler ILSCLocalSyncClient ::Initialize . Une fois qu’ILSCLocalSyncClient ::Initialize a réussi, vous pouvez appeler n’importe quelle API aussi souvent que vous le souhaitez et dans n’importe quel ordre. Vous pouvez également appeler ILSCLocalSyncClient ::Initialize sur un objet déjà initialisé, mais cela ne fait rien.

Les exceptions au paragraphe précédent sont ILSCLocalSyncClient ::ResetCache et ILSCLocalSyncClient ::Uninitialize. Après avoir appelé ILSCLocalSyncClient ::Uninitialize sur l’objet COM, vous DEVEZ détruire cet objet et en créer un nouveau. ILSCLocalSyncClient ::ResetCache supprime votre sous-cache, supprime toutes les informations de fichier associées dans le cache, mais laisse les documents sur le disque. Il laisse également l’état intact pour la communication avec le cache. Cela vous permet d’appeler à nouveau ILSCLocalSyncClient ::Initialize pour créer un nouveau cache sans avoir à détruire et recréer l’objet COM.

Fonctions membres publiques

ILSCLocalSyncClient ::D eleteFile

DeleteFile est utilisé pour supprimer les informations de fichier du cache. Toutefois, cette méthode laisse le fichier associé sur le disque et sur le serveur.

HRESULT ILSCLocalSyncClient::DeleteFile ([in] BSTR bstrResourceID)

Paramètres

bstrResourceID

Chaîne qui identifie le ResourceID du fichier. Cette valeur doit être non vide avec un maximum de 128 caractères.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_FAIL
L’appel n’a pas réussi.
E_LSC_FILENOTFOUND
Le ResourceID donné n’est pas dans le cache.
E_LSC_NOTINITIALIZED
Initialize n’a pas été appelé avec succès dans le passé.
E_LSC_PENDINGCHANGESINCACHE
Le fichier est en cours de synchronisation ou ouvert et ne peut pas être supprimé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::GetChanges

GetChanges retourne un énumérateur d’objets ILSCEvent et retourne également un jeton qui est donné à l’appel suivant à GetChanges, en supposant que le consommateur a traité l’ensemble d’événements précédent. Les événements avant le nPreviousChangesToken spécifié sont supprimés et indisponibles. Si aucun événement n’est à traiter, pnCurrentChangesToken doit avoir la même valeur que nPreviousChangesToken, mais ppiEvents est toujours défini.

HRESULT ILSCLocalSyncClient::GetChanges ([in] LONG nPreviousChangesToken, [out] LONG * pnCurrentChangesToken, [out] IEnumLSCEvent ** ppiEvents)

Paramètres

nPreviousChangesToken

Identifie l’événement qui a été traité pour la dernière fois par le consommateur.

pnCurrentChangesToken

Identifie l’événement le plus récent remis au consommateur. Ne doit pas être null.

ppiEvents

Énumérateur pour les événements remis au consommateur. Ne doit pas être null.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::GetClientNetworkSyncPermission

GetClientNetworkSyncPermission permet de déterminer si l’heuristique de synchronisation d’Office pour le coût réseau et l’utilisation de l’alimentation est remplacée. Sur un réseau 3G ou un autre réseau à coût élevé, ou en cas d’exécution sur batterie plutôt que d’être branché, Office peut choisir de bloquer le trafic réseau jusqu’à un moment plus opportun.

HRESULT ILSCLocalSyncClient::GetClientNetworkSyncPermission ([in] LSCNetworkSyncPermissionType nspType, [out] VARIANT_BOOL * pfSyncEnabled)

Paramètres

nspType

Indicateur qui définit l’heuristique de coût à interroger. Consultez Enum LSCNetworkSyncPermissionType.

pfSyncEnabled

Spécifie si l’heuristique de coût demandée est actuellement remplacée ou non. Ne doit pas être null.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::GetFileStatus

GetFileStatus est utilisé pour collecter des informations pour un fichier spécifique : s’il existe dans le cache, s’il a une communication en attente avec la copie du serveur et si Office 2013 a les données les plus à jour de la copie locale. Il nécessite un indicateur de bits de valeurs Enum LSCStatusFlag pour déterminer les informations que l’objet COM CsiSyncClient doit interroger.

HRESULT ILSCLocalSyncClient::GetFileStatus ([in] BSTR bstrResourceID, [in] LSCStatusFlag sfRequestedStatus, [out] BSTR * pbstrFileSystemPath, [out] BSTR * pbstrETag, [out] LSCStatusFlag * psfFileStatus)

Paramètres

bstrResourceID

Chaîne qui identifie le fichier sur le client. Cette valeur doit être non vide, avec un maximum de 128 caractères.

sfRequestedStatus

Indicateur qui définit les informations à retourner. Consultez Enum LSCStatusFlag.

pbstrFileSystemPath

Chaîne qui identifie l’emplacement du fichier identifié par bstrResourceID sur le client. Ne doit pas être null.

pbstrETag

Chaîne qui contient l’eTag du fichier identifié par bstrResourceID. Ne doit pas être null.

psfFileStatus

Indicateur qui contiendra le status demandé via sfRequestedStatus pour le fichier identifié par bstrResourceID. Ne doit pas être null. Consultez Enum LSCStatusFlag.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_FILENOTFOUND
Les informations de fichier spécifiées par bstrResourceID n’existent pas dans le cache.
E_LSC_LOCALFILEUNAVAILABLE
LSCStatusFlag_LocalFileUnchanged a été demandé ou le fichier spécifié par bstrResourceID est verrouillé ou manquant.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::GetSupportedFileExtensions

GetSupportedFileExtensions retourne une liste d’extensions de fichier délimitées par des canaux qui sont actuellement prises en charge par l’objet COM CsiSyncClient. Notez que cette liste peut changer et que le consommateur sera informé d’une modification via l’objet IPartnerActivityCallback fourni sur ILSCLocalSyncClient ::Initialize (voir EventOccured).

Voici un exemple de chaîne retournée : « |docx|docm|pptx| »

HRESULT ILSCLocalSyncClient::GetSupportedFileExtensions ([out] BSTR * pbstrSupportedFileExtensions)

Paramètres

pbstrSupportedFileExtensions

Chaîne à définir avec un jeu d’extensions de fichier délimité par des canaux pris en charge par l’objet COM CsiSyncClient. Ne doit pas être null.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::Initialize

Initialize doit être la première méthode appelée. Sinon, toutes les autres API retournent E_LSC_NOTINITIALIZED. L’appel d’Initialize sur un objet déjà initialisé retourne S_OK et ne fait rien. Si E_LSC_CACHEMISMATCH est retourné, l’appelant peut appeler ILSCLocalSyncClient ::ResetCache pour supprimer le cache associé au SuppliedID donné. Toutefois, dans ce cas, d’autres API retournent toujours E_LSC_NOTINITIALIZED.

HRESULT ILSCLocalSyncClient::Initialize ([in] BSTR bstrSuppliedID, [in] BSTR bstrProgID, [in] BSTR bstrFileSystemDirectoryHint, [in] IPartnerActivityCallback * pEventCallback, [out] VARIANT_BOOL * pfCreatedNewCache)

Paramètres

bstrSuppliedID

Identifie le consommateur et le cache à utiliser. Doit être non vide avec un maximum de 32 caractères.

bstrProgID

Identifie l’objet COM du consommateur pour la communication bidirectionnelle. Doit être non vide avec un maximum de 39 caractères. Pour plus d’informations sur les ProgIDD, consultez <Clé ProgID>.

bstrFileSystemDirectoryHint

Identifie la racine du répertoire dans lequel les fichiers locaux seront stockés. Doit être non vide avec un maximum de 256 caractères. Le répertoire doit déjà exister.

pEventCallback

Interface de rappel que CsiSyncClient notifiera en cas de modifications. Consultez IPartnerActivityCallback ::EventOccurred. Cette valeur ne doit pas être null.

pfCreatedNewCache

Retourne si un nouveau cache a été créé. Si aucun cache n’est associé au SuppliedID, un cache est créé. Cette valeur ne doit pas être null.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_CACHEMISMATCH
Un ProvideID a déjà un cache associé, mais a un ProgId ou FileSystemDirectoryHint différent de ceux fournis.
E_LSC_DIRECTORYHINTCONFLICT
Le FileSystemDirectoryHint (ou un sous-dossier) existe déjà sur un autre cache.
E_LAC_PROGIDCONFLICT
Le ProgID existe déjà sur un autre cache.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::LocalFileChange

LocalFileChange est utilisé pour indiquer à l’objet COM CsiSyncClient de tenter de charger le fichier spécifié. La méthode prépare le fichier pour le chargement, y compris la lecture du contenu actuel du fichier. Si un chargement est déjà en attente, le chargement précédent est ignoré et le nouveau contenu est préparé pour le chargement. Si le fichier est ouvert pour modification dans une application, cette méthode retourne S_OK sans préparer le fichier pour le chargement (l’application doit déjà effectuer cette étape s’il y a des modifications).

Cette méthode autorise les chargements s’il a été marqué comme des chargements bloqués précédemment (voir ILSCLocalSyncClient ::RenameFile).

HRESULT ILSCLocalSyncClient::LocalFileChange ([in] BSTR bstrFileSystemPath, [in] BSTR bstrWebPath, [in] BSTR bstrResourceID)

Paramètres

bstrFileSystemPath

Chaîne qui identifie le fichier sur le client. Cette valeur doit être un chemin d’accès local non vide avec un maximum de 256 caractères. Ce chemin doit se trouver dans l’arborescence de répertoires spécifiée par fileSystemDirectoryHint lorsque l’appel à ILSCLocalSyncClient ::Initialize a été effectué.

bstrResourceID

Chaîne qui identifie le ResourceID du fichier. Cette valeur doit être non vide avec un maximum de 128 caractères.

bstrWebPath

Chaîne qui identifie le fichier sur le serveur. Cette valeur doit être une URL valide et non vide, mais pas plus de INTERNET_MAX_URL_LENGTH, comme défini par https://support.microsoft.com/kb/208427.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_CONFLICTINGFILE
Le fichier spécifié par bstrFileSystemPath a un ResourceID différent de celui spécifié. Un événement de type LSCEventType_OnFilePathConflict est envoyé lorsque cette erreur est retournée. Consultez ILSCLocalSyncClient ::GetChanges.
E_LSC_FILENOTFOUND
Le fichier a été supprimé en milieu d’opération.
E_LSC_FILENOTSUPPORTED
L’extension de fichier donnée n’est pas prise en charge par l’objet COM CsiSyncClient. Consultez ILSCLocalSyncClient ::GetSupportedFileExtensions.
E_LSC_FILEUPTODATE
L’objet COM n’a pas planifié de chargement, car le fichier dans le cache avait les modifications les plus récentes du disque.
E_LSC_LOCALFILEUNAVAILABLE
Le fichier spécifié par bstrFileSystemPath est manquant ou verrouillé.
E_LSC_LOCALPATHNOTMAPPED
Le FileSystemPath donné ne se trouve pas sous la racine du répertoire spécifiée par fileSystemDirectoryHint lorsque l’appel à Initialize a été effectué.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
E_LSC_PATHMISMATCH
Le fichier spécifié par bstrResourceID a un FileSystemPath différent de celui spécifié.
E_LSC_PENDINGCHANGESINCACHE
Le fichier spécifié a déjà des modifications en attente dans un autre cache et ne peut pas encore être associé au cache du consommateur.
E_LSC_SERVERPATHINDIFFERENTCACHE
Le WebPath fourni se trouve sous un cache différent.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::RenameFile

RenameFile associe une nouvelle URL et un chemin d’accès local pour un ResourceID donné. Si le fichier spécifié par resourceID n’existe pas déjà dans le cache, une tentative est effectuée pour le créer et le marquer pour téléchargement.

HRESULT ILSCLocalSyncClient::RenameFile ([in] BSTR bstrResourceID, [in] BSTR bstrNewFileSystemPath, [in] BSTR bstrNewWebPath, [in] VARIANT_BOOL fBlockUploads)

Paramètres

bstrResourceID

Chaîne qui identifie le ResourceID du fichier. Cette valeur doit être non vide avec un maximum de 128 caractères.

bstrNewFileSystemPath

Chaîne qui spécifie le nouveau chemin d’accès local pour le fichier. Cette valeur doit être un chemin d’accès local non vide avec un maximum de 256 caractères. Ce chemin doit se trouver dans l’arborescence de répertoires spécifiée par FileSystemDirectoryHint lors de l’appel à Initialize.

bstrNewWebPath

Chaîne qui spécifie la nouvelle URL du fichier. Cette valeur doit être une URL valide non vide, mais pas plus de INTERNET_MAX_URL_LENGTH, comme défini par https://support.microsoft.com/kb/208427.

fBlockUploads

Spécifie si les chargements vers le nouvel emplacement sont actuellement autorisés.

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_CONFLICTINGFILE
Le bstrNewFileSystemPath ou bstrNewWebPath existe déjà sur un autre fichier dans n’importe quel cache. Un événement de type LSCEventType_OnFilePathConflict est envoyé lorsque cette erreur est retournée. Consultez ILSCLocalSyncClient ::GetChanges.
E_LSC_FILENOTFOUND
Les informations de fichier ont été supprimées du cache pendant l’exécution de cette méthode.
E_LSC_LOCALPATHNOTMAPPED
Le FileSystemPath donné ne se trouve pas sous la racine du répertoire spécifiée par fileSystemDirectoryHint lorsque l’appel à Initialize a été effectué.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
E_LSC_PENDINGCHANGESINCACHE
Le fichier spécifié est en cours de synchronisation dans une application Office.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::ResetCache

ResetCache supprime le cache associé au ProvidedID fourni sur Initialize. Cela inclut toutes les informations de fichier, mais laisse les fichiers sur le client et le serveur. Cette méthode laisse également l’objet dans un état partiellement non initialisé. Les seuls appels valides après cela sont ILSCLocalSyncClient ::Initialize ou ILSCLocalSyncClient ::Uninitialize. Cette méthode PEUT être appelée si Initialize échoue et retourne E_LSC_CACHEMISMATCH, et supprime le cache associé à l’ID fourni avec l’appel défaillant.

HRESULT ILSCLocalSyncClient::ResetCache()

Paramètres

Aucun

Valeurs de retour
Valeur Description
E_FAIL
L’appel n’a pas réussi.
E_LSC_NOTINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::ServerFileChange

ServerFileChange indique à l’objet COM CsiSyncClient de marquer le fichier spécifié pour téléchargement. Si le fichier est ouvert dans une application Office pour modification, cette méthode retourne S_OK sans marquer le fichier pour téléchargement (l’application doit déjà effectuer cette étape s’il y a des modifications).

Cette méthode autorise les téléchargements s’il a été marqué comme des téléchargements bloqués précédemment (voir RenameFile).

HRESULT ILSCLocalSyncClient::ServerFileChange ([in] BSTR bstrFileSystemPath, [in] BSTR bstrWebPath, [in] BSTR bstrResourceID)

Paramètres
Paramètre Description
bstrFileSystemPath
Chaîne qui identifie le fichier sur le client. Cette valeur doit être un chemin d’accès local non vide avec un maximum de 256 caractères. Ce chemin doit se trouver dans l’arborescence de répertoires spécifiée par FileSystemDirectoryHint lors de l’appel à Initialize.
bstrResourceID
Chaîne qui identifie le ResourceID du fichier. Cette valeur doit être non vide avec un maximum de 128 caractères.
bstrWebPath
Chaîne qui identifie le fichier sur le serveur. Cette valeur doit être une URL valide non vide, mais pas plus de INTERNET_MAX_URL_LENGTH, comme défini par https://support.microsoft.com/kb/208427.
Valeurs de retour
Valeur Description
E_FAIL
Échec de la définition de l’état de connectivité du cache.
E_LSC_CONFLICTINGFILE
Le fichier spécifié par bstrFileSystemPath a un ResourceID différent de celui spécifié.
E_LSC_FILENOTSUPPORTED
L’extension de fichier donnée n’est pas prise en charge par l’objet COM CsiSyncClient. Consultez GetSupportedFileExtensions.
E_LSC_FILENOTFOUND
Le fichier a été supprimé en cours d’opération.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_LOCALPATHNOTMAPPED
Le FileSystemPath donné ne se trouve pas sous la racine du répertoire spécifiée par fileSystemDirectoryHint lorsque l’appel à Initialize a été effectué.
E_LSC_NOINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
E_LSC_PATHMISMATCH
Le fichier spécifié par bstrResourceID a un FileSystemPath différent de celui spécifié.
E_LSC_PENDINGCHANGESINCACHE
Le fichier spécifié comporte déjà des modifications en attente dans un autre cache et ne peut pas encore être associé au cache du consommateur.
E_LSC_SERVERPATHINDIFFERENTCACHE
Le WebPath fourni se trouve sous un cache différent.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::SetClientConnectivityState

Définit le cache dans un état en ligne ou hors connexion. S’il est hors connexion, Office ne tente pas de communiquer avec le serveur pour les fichiers de ce cache, quel que soit le paramètre fBlockUploads de chaque fichier individuel.

HRESULT ILSCLocalSyncClient::SetClientConnectivityState ([in] VARIANT_BOOL fIsOnline)

Paramètres

fIsOnline

Valeur booléenne déterminant l’état de connectivité du cache.

Valeurs de retour
Valeur Description
E_FAIL
Échec de la définition de l’état de connectivité du cache.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_LSC_NOINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::SetClientNetworkSyncPermission

SetClientNetworkSyncPermission est utilisé pour remplacer ou restaurer l’heuristique de synchronisation d’Office pour le coût réseau et l’utilisation de l’alimentation. Sur un réseau 3G ou un autre réseau à coût élevé, ou en cas d’exécution sur batterie plutôt que d’être branché, Office peut choisir de bloquer le trafic réseau jusqu’à un moment plus opportun. Le consommateur de cette API peut l’utiliser pour remplacer l’heuristique d’Office et forcer la synchronisation à se produire.

HRESULT ILSCLocalSyncClient::SetClientNetworkSyncPermission ([in] LSCNetworkSyncPermissionType nspType, [in] VARIANT_BOOL fEnableSync)

Paramètres

nspType

Indicateur qui définit l’heuristique de coût à remplacer. Consultez Enum LSCNetworkSyncPermissionType.

fEnableSync

Spécifie s’il faut forcer la synchronisation, ce qui remplace cette heuristique de coût, ou ne plus la remplacer.

Valeurs de retour
Valeur Description
E_FAIL
Échec du remplacement de l’heuristique de synchronisation.
E_LSC_NOINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

ILSCLocalSyncClient ::Uninitialize

Décharge le cache de l’objet COM et effectue des opérations de fermeture. ILSCLocalSyncClient ::Uninitialize DOIT être appelé avant de détruire l’objet COM. Une fois appelé, aucune autre API ne peut être appelée, l’objet COM DOIT être détruit et un nouvel objet doit être créé si vous souhaitez poursuivre les opérations.

HRESULT ILSCLocalSyncClient::Uninitialize ()

Paramètres

Aucun.

Valeurs de retour
Valeur Description
E_FAIL
Échec de l’initialisation.
E_LSC_NOINITIALIZED
ILSCLocalSyncClient ::Initialize n’a pas été appelé avec succès dans le passé.
S_OK
L'appel a réussi.

Interface IEnumLSCEvent

Cette interface représente une liste d’événements ILSCEvent.

Fonctions membres publiques

IEnumLSCEvent ::FNext

Récupère l’événement suivant à partir de la liste des événements.

HRESULT IEnumLSCEvent::FNext ([out] ILSCEvent ** ppiLSCEvent)

Paramètres

ppiLSCEvent

Pointeur vers une interface ILSCEvent.

Valeurs de retour
Valeur Description
E_FAIL
Il n’y a plus d’événements.
S_OK
L’appel a réussi.

IEnumLSCEvent ::Reset

Réinitialise l’énumérateur au premier événement.

HRESULT IEnumLSCEvent::Reset ()

Paramètres

Aucun.

Valeurs de retour

Retourne toujours S_OK.

Interface ILSCEvent

Cette interface représente un événement de synchronisation. Toutes les informations sur l’événement peuvent être récupérées à partir de l’interface.

Fonctions membres publiques

ILSCEvent ::GetConflictStatus

Notez que cette valeur est renseignée lorsque ILSCLocalSyncClient ::GetChanges est appelé, et non lors de la création de l’événement. Vous n’aurez donc que la status actuelle du fichier, et non la status du fichier lorsque le conflit status changé.

Cette valeur n’est remplie que lorsque l’enum LSCEventType de l’événement est LSCEventType_OnLocalConflictStateChanged.

HRESULT ILSCEvent::GetConflictStatus ([out] VARIANT_BOOL * pfIsInConflict)

Paramètres

pfIsInConflict

Le conflit actuel status du fichier associé à l’événement.

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetError

Cette valeur n’est remplie que lorsque l’enum LSCEventType de l’événement est LSCEventType_OnServerChangesDownloaded ou LSCEventType_OnLocalChangesUploaded.

HRESULT ILSCEvent::GetError ([out] LONG * pnError)

Paramètres

pnError

Erreur associée à cet événement.

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetETag

Cette valeur n’est remplie que lorsque l’enum LSCEventType de l’événement est LSCEventType_OnServerChangesDownloaded ou LSCEventType_OnLocalChangesUploaded.

HRESULT ILSCEvent::GetETag ([out] BSTR * pbstrETag)

Paramètres

pbstrETag

ETag associé à cet événement

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetEventType

Obtient le type de cet événement.

HRESULT ILSCEvent::GetEventType ([out] LSCEventType * pnEventType)

Paramètres

pnEventType

Type d’événement de cet événement. Pour connaître les valeurs valides, consultez Enum LSCEventType . Ne doit pas être null.

Valeurs de retour
Valeur Description
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
S_OK
L’appel a réussi.

ILSCEvent ::GetLocalWorkingPath

Obtient le chemin de travail local pour cet événement.

HRESULT ILSCEvent::GetLocalWorkingPath ([out] BSTR * pbstrLocalWorkingPath)

Paramètres

pbstrLocalWorkingPath

Chemin d’accès local du fichier auquel cet événement se rapporte.

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetResourceID

Obtient l’ID de ressource de l’événement.

HRESULT ILSCEvent::GetResourceID ([out] BSTR * pbstrResourceID)

Paramètres

pbstrResourceID

ResourceID du fichier associé à cet événement.

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetResourceIDAttempted

Cette valeur est renseignée uniquement lorsque l’élément Enum LSCEventType de l’événement est LSCEventType_OnFilePathConflict. Lorsqu’un appel à ILSCLocalSyncClient ::LocalFileChange, ILSCLocalSyncClient ::ServerFileChange ou ILSCLocalSyncClient ::RenameFile provoque une collision de chemin d’accès web ou de chemin d’accès local avec un autre fichier dans le cache de fichiers Office, cet événement est généré.

HRESULT ILSCEvent::GetResourceIDAttempted ([out] BSTR * pbstrResourceIDAttempted)

Paramètres

pbstrResourceIDAttempted

ResourceID qui a provoqué la génération de cet événement. Ne doit pas être null.

Valeurs de retour

Retourne toujours S_OK.

ILSCEvent ::GetSyncErrorType

Cette valeur n’est remplie que lorsque l’enum LSCEventType de l’événement est LSCEventType_OnServerChangesDownloaded ou LSCEventType_OnLocalChangesUploaded.

HRESULT ILSCEvent::GetSyncErrorType ([out] LSCEventSyncErrorType * pnSyncErrorType)

Paramètres

pnSyncErrorType

Type d’erreur associé à cet événement. Consultez Enum LSCEventType pour connaître les valeurs potentielles. Ne doit pas être null.

Valeurs de retour
Valeur Description
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
S_OK
L’appel a réussi.

ILSCEvent ::GetWebPath

Cette valeur est renseignée uniquement lorsque l’élément Enum LSCEventType de l’événement est LSCEventType_OnFilePathConflict.

HRESULT ILSCEvent::GetWebPath ([out] BSTR * pbstrWebPath)

Paramètres

pbstrWebPath

Spécifie le chemin d’accès web associé à cet événement. Ne doit pas être null.

Valeurs de retour

Retourne toujours S_OK.

Interface ILSCEvent2

Cette interface contient des informations supplémentaires sur un événement de synchronisation.

Fonctions membres publiques

ILSCEvent2 ::GetErrorChain

Obtient les informations de chaîne d’erreur sur un événement de synchronisation.

HRESULT ILSCEvent2::GetErrorChain ([out] BSTR * pbstrErrorChain)

Paramètres

pbstrErrorChain

Chaîne pour contenir les informations de chaîne d’erreur. Ne doit pas être null.

Valeurs de retour
Valeur Description
E_NOTIMPL
La version installée d’Office ne prend pas en charge cette interface
E_INVALIDARG
Une ou plusieurs valeurs de paramètre ne sont pas valides.
E_FAIL
Les informations sur la chaîne d’erreurs ne sont pas disponibles.
S_OK
L’appel a réussi.

Interface IPartnerActivityCallback

Cette interface fournit une fonction de rappel à l’objet COM CSISyncClient.

Fonctions membres publiques

IPartnerActivityCallback ::EventOccurred

Il s’agit d’une fonction de rappel sur l’objet donné à l’objet COM CsiSyncClient. Lorsqu’un événement se produit (voir Enum LSCEventTypeOccurred pour les types d’événements valides), l’objet COM CsiSyncClient appelle cette méthode, signalant le consommateur.

HRESULT IPartnerActivityCallback::EventOccurred ([in] LSCEventTypeOccurred eEventTypeOccurred)

Paramètres

eEventTypeOccurred

Type d’événement de cet événement. Pour connaître les valeurs valides, consultez Enum LSCEventTypeOccurred .

Valeurs de retour

Retourne toujours S_OK.

Énumérations

CSISyncClient utilise les énumérations suivantes.

Énumération LSCEventSyncErrorType

Cette énumération spécifie les catégories d’erreurs qui peuvent se produire lors de la synchronisation d’un fichier.

Énumérateur Description
LSCEventSyncErrorType_UserInterventionRequiredUnexpected
L’erreur de synchronisation de cet événement était inattendue et peut nécessiter une attention particulière. Par défaut, l’utilisateur peut être amené à intervenir.
LSCEventSyncErrorType_NoInterventionRequired
L’erreur de synchronisation de cet événement ne nécessite pas de considération particulière. Office le gère automatiquement.
LSCEventSyncErrorType_UserInterventionRequired
L’erreur de synchronisation de cet événement nécessite qu’un utilisateur la résolve. Par exemple, conflit de fusion erreur nécessite qu’un utilisateur ouvre le document et le fusionne.
LSCEventSyncErrorType_WaitingOnClient
L’erreur de synchronisation de cet événement nécessite l’intervention du consommateur, mais ne doit pas nécessiter une attention particulière de la part de l’utilisateur.
LSCEventSyncErrorType_ClientInterventionRequired
L’erreur de synchronisation de cet événement nécessite que le consommateur intervienne dans un cas particulier.
LSCEventSyncErrorType_Max

Enum LSCEventType

Cette énumération spécifie le type d’événements qui peuvent se produire pour un fichier particulier.

Énumérateur Description
LSCEventType_None
LSCEventType_OnLocalChanges
Des modifications ont été apportées à un fichier local.
LSCEventType_OnOpenedByUser
Un utilisateur a ouvert un fichier.
LSCEventType_OnServerChangesDownloaded
Fin du téléchargement des modifications de fichier à partir du serveur.
LSCEventType_OnLocalChangesUploaded
Fin du chargement des modifications de fichier sur le serveur.
LSCEventType_OnLocalConflictStateChanged
L’état conflit de fusion d’un fichier a changé.
LSCEventType_OnFileAdded
Un fichier a été ajouté.
LSCEventType_OnFileDeleted
Un fichier a été supprimé.
LSCEventType_OnSyncEnabled
La synchronisation a été activée pour les fichiers d’un utilisateur.
LSCEventType_OnServerChangesDownloadStarted
Démarrage du téléchargement des modifications de fichier à partir du serveur.
LSCEventType_OnLocalChangesUploadStarted
Début du chargement des modifications de fichier sur le serveur.
LSCEventType_OnFilePathConflict
Cet événement est généré lorsqu’un appel à ILSCLocalSyncClient ::LocalFileChange, ILSCLocalSyncClient ::ServerFileChange ou ILSCLocalSyncClient ::RenameFile provoque une collision de chemin d’accès web ou de chemin local avec un autre fichier dans le cache de fichiers Office.
LSCEventType_OnFileForked
LSCEventType_Max

Enum LSCEventTypeOccurred

Cette énumération spécifie le type d’événements qui peuvent se produire. Le consommateur doit appeler des fonctions ILSCLocalSyncClient spécifiques en fonction du type d’événement.

Énumérateur Description
LSCEventTypeOccurred_GetChanges
Un événement ILSCEvent s’est produit. Le consommateur doit appeler ILSCLocalSyncClient ::GetChanges pour récupérer les données.
LSCEventTypeOccurred_GetSupportedFileExtensions
Les extensions de fichier prises en charge ont changé. Le consommateur doit appeler ILSCLocalSyncClient ::GetSupportedFileExtensions pour récupérer la nouvelle liste des extensions prises en charge.

Enum LSCNetworkSyncPermissionType

Cette énumération spécifie les indicateurs utilisés pour une heuristique de coût réseau.

Énumérateur Description
LSCNetworkSyncPermissionType_HighCost
True si l’heuristique de coût pour les réseaux coûteux (tels que la 3G) est remplacée.
LSCNetworkSyncPermissionType_HighPowerUsage
True si l’heuristique de coût pour l’utilisation de l’alimentation (par exemple, une batterie) est remplacée.

Enum LSCStatusFlag

Cette énumération est utilisée pour représenter la status de synchronisation d’un fichier.

Énumérateur Description
LCSStatusFlag_None
LSCStatusFlag_UploadPending
True si des données sont en attente à envoyer au fichier serveur.
LSCStatusFlag_DownloadPending
True s’il y a des données en attente à télécharger à partir du fichier serveur.
LSCStatusFlag_LocalFileUnchanged
True si les données qu’Office possède sur le fichier dans son cache sont la copie la plus récente des données sur disque.