Metodo IReconcilableObject::Reconcile (reconcil.h)

Riconcilia lo stato di un oggetto con uno o più oggetti. La riconciliazione aggiorna lo stato interno dell'oggetto combinando gli stati di tutti gli oggetti per formare uno stato combinato.

Sintassi

HRESULT Reconcile(
  IReconcileInitiator *pInitiator,
  DWORD               dwFlags,
  HWND                hwndOwner,
  HWND                hwndProgressFeedback,
  ULONG               ulcInput,
  IMoniker            **rgpmkOtherInput,
  PLONG               plOutIndex,
  IStorage            *pstgNewResidues,
  PVOID               pvReserved
);

Parametri

pInitiator

Tipo: IReconcileInitiator*

Indirizzo dell'interfaccia IReconcileInitiator per l'iniziatore del processo di riconciliazione. Questo parametro non deve essere NULL.

dwFlags

Tipo: DWORD

Flag di controllo per la riconciliazione. Questo parametro può essere zero o una combinazione di questi valori:

RECONCILEF_FEEDBACKWINDOWVALID

Il parametro hwndProgressFeedback è valido.

RECONCILEF_MAYBOTHERUSER

Se necessario, il riconciliatore di lettere minuscole può richiedere l'interazione dell'utente. Senza questo valore, l'interazione utente non è consentita. Il parametro hwndOwner è valido.

RECONCILEF_NORESIDUESOK

Il riconciliatore di lettere minuscole può ignorare le richieste di residui ed eseguire la riconciliazione. I riconciliatori che non supportano i residui devono controllare questo valore ogni volta che un iniziatore richiede residui. Senza questo valore, un riconciliatore che non supporta residui deve restituire immediatamente REC_E_NORESIDUES.

RECONCILEF_OMITSELFRESIDUE

Il riconciliatore di lettere minuscole può eliminare qualsiasi residuo associato a questo oggetto. Gli iniziatori usano in genere questo valore per le riconciliazione che passano dalla generazione alla generazione.

RECONCILEF_ONLYYOUWERECHANGED

Il metodo Reconcile viene chiamato per propagare le modifiche nell'oggetto modificato ad altri oggetti non modificati. Questo valore verrà impostato solo se la chiave seguente esiste nel Registro di sistema.

HKEY_CLASSES_ROOT
   CLSID
      {CLSID of reconciler}
         SingleChangeHook

Se questa chiave non è presente nel Registro di sistema, l'iniziatore esegue la riconciliazione rendendo gli altri oggetti non modificati copie identiche dell'oggetto modificato. I moniker rgpmkOtherInput identificano gli altri oggetti. Questo valore verrà impostato solo in dwFlags se RECONCILEF_YOUMAYDOTHEUPDATES è impostato anche. Se il riconciliatore di lettere minuscole completa correttamente gli aggiornamenti, REC_S_IDIDTHEUPDATES deve essere restituito e la variabile puntata al parametro plOutIndex deve essere impostata su -1L. Si noti che S_OK non deve essere restituito in caso di esito positivo se questo valore è impostato in dwFlags. L'iniziatore non salva l'archiviazione dell'oggetto di origine se Riconcilia restituisce REC_S_IDIDTHEUPDATES. Se il riconciliatore vuole tornare all'implementazione della copia bit dell'iniziatore, può restituire S_FALSE.

RECONCILEF_RESUMEDRECONCILIATION

Il riconciliatore di lettere minuscole deve riprendere la riconciliazione, usando i residui parziali forniti. Senza questo valore, il riconciliatore deve ignorare le informazioni "considerate ma rifiutate" in una delle versioni di input.

RECONCILEF_YOUMAYDOTHEUPDATES

Il riconciliatore di lettere minuscole può eseguire gli aggiornamenti. Senza questo valore, il riconciliatore non può eseguire gli aggiornamenti. Se la riconciliazione viene completata correttamente, il riconciliatore deve restituire REC_S_IDIDTHEUPDATES se ha eseguito gli aggiornamenti o S_OK se non ha eseguito gli aggiornamenti.

hwndOwner

Tipo: HWND

Handle per la finestra da usare come padre per qualsiasi finestra figlio creata dal riconciliatore di lettere minuscole. Questo parametro è valido solo se RECONCILEF_MAYBOTHERUSER è specificato in dwFlags.

hwndProgressFeedback

Tipo: HWND

Handle per la finestra di feedback dello stato da visualizzare dall'iniziatore. Questo parametro è valido solo se RECONCILEF_FEEDBACKWINDOWVALID è specificato in dwFlags. Il riconciliatore di lettere minuscole può chiamare la funzione SetWindowText usando questo handle di finestra per visualizzare informazioni aggiuntive sullo stato di riconciliazione all'utente.

ulcInput

Tipo: ULONG

Numero di versioni o residui parziali specificati in dwFlags. Questo parametro non deve essere zero.

rgpmkOtherInput

Tipo: IMoniker**

Indirizzo di una matrice che contiene gli indirizzi dei moniker da usare per accedere alle versioni o ai residui parziali da riconciliare.

plOutIndex

Tipo: LONG*

Indirizzo della variabile che riceve un valore di indice che indica se il risultato della riconciliazione è identico a una delle versioni iniziali. La variabile è impostata su -1L se il risultato della riconciliazione è una combinazione di due o più versioni. In caso contrario, è un indice in base zero, con 0 che indica questo oggetto, 1 che indica la prima versione, 2 che indica la seconda versione e così via.

pstgNewResidues

Tipo: IStorage*

L'indirizzo dell'interfaccia IStorage usato per archiviare i nuovi residui. Questo parametro può essere NULL per indicare che i residui non devono essere salvati.

pvReserved

Tipo: void*

Riservati; deve essere NULL.

Valore restituito

Tipo: HRESULT

Restituisce uno dei valori seguenti.

Codice restituito Descrizione
S_OK
La riconciliazione è stata completata correttamente e le modifiche devono essere propagate agli altri oggetti.
S_FALSE
Non sono state eseguite azioni di riconciliazione. Il riconciliatore di lettere minuscole vuole tornare all'implementazione della copia bit dell'iniziatore. Questo valore può essere restituito solo se RECONCILEF_ONLYYOUWERECHANGED è impostato in dwFlags.
REC_S_IDIDTHEUPDATES
La riconciliazione è stata completata correttamente e tutti gli oggetti coinvolti (l'oggetto che implementa il metodo Reconcile e tutti gli altri oggetti descritti da rgpmkOtherInput) sono stati aggiornati in modo appropriato. L'iniziatore non ha quindi bisogno di eseguire altre operazioni per propagare le modifiche. La variabile a cui fa riferimento plOutIndex deve essere impostata su -1L se La riconciliazione restituisce questo valore. L'iniziatore non salva l'archiviazione dell'oggetto di origine se Riconcilia restituisce questo valore. Questo valore può essere restituito solo se RECONCILEF_YOUMAYDOTHEUPDATES è stato impostato in dwFlags.
REC_S_NOTCOMPLETE
Il riconciliatore di lettere minuscole ha completato alcuni, ma non tutti, della riconciliazione. Potrebbe essere necessaria l'interazione dell'utente. Le modifiche non verranno propagate ad altri oggetti.
REC_S_NOTCOMPLETEBUTPROPAGATE
Il riconciliatore di lettere minuscole ha completato alcuni, ma non tutti, della riconciliazione. Potrebbe essere necessaria l'interazione dell'utente. Le modifiche verranno propagate agli altri oggetti.
REC_E_NORESIDUES
Il riconciliatore di lettere minuscole non supporta la generazione di residui, quindi la richiesta di residui viene negata. Lo stato dell'oggetto è invariato.
REC_E_ABORTED
Il riconciliatore di lettere minuscole ha interrotto la riconciliazione in risposta a una richiesta di terminazione dall'iniziatore (vedere SetAbortCallback per altre informazioni). Lo stato dell'oggetto non è specificato.
REC_E_TOODIFFERENT
La riconciliazione non può essere eseguita perché le versioni del documento fornite sono troppo diverse.
REC_E_INEEDTODOTHEUPDATES
Il flag RECONCILEF_YOUMAYDOTHEUPDATES non è stato impostato quando è stata chiamata l'implementazione di Riconciliazione dell'oggetto; questa implementazione richiede che questo valore sia impostato nel parametro dwFlags .
OLE_E_NOTRUNNING
L'oggetto è un oggetto incorporato OLE che deve essere eseguito prima che questa operazione possa essere eseguita. Lo stato dell'oggetto è invariato.
E_UNEXPECTED
Errore non specificato.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione reconcil.h
DLL Shell32.dll (versione 4.0 o successiva)

Vedi anche

IReconcilableObject