IReconcilableObject::Reconcile-Methode (reconcil.h)
Stimmt den Zustand eines Objekts mit einem oder mehreren anderen Objekten ab. Die Abstimmung aktualisiert den internen Zustand des Objekts, indem die Zustände aller Objekte zu einem kombinierten Zustand zusammengeführt werden.
Syntax
HRESULT Reconcile(
IReconcileInitiator *pInitiator,
DWORD dwFlags,
HWND hwndOwner,
HWND hwndProgressFeedback,
ULONG ulcInput,
IMoniker **rgpmkOtherInput,
PLONG plOutIndex,
IStorage *pstgNewResidues,
PVOID pvReserved
);
Parameter
pInitiator
Typ: IReconcileInitiator*
Die Adresse der IReconcileInitiator-Schnittstelle für den Initiator des Abstimmungsprozesses. Dieser Parameter darf nicht NULL sein.
dwFlags
Art: DWORD
Die Kontrollflags für die Abstimmung. Dieser Parameter kann null oder eine Kombination aus diesen Werten sein:
RECONCILEF_FEEDBACKWINDOWVALID
Der hwndProgressFeedback-Parameter ist gültig.
RECONCILEF_MAYBOTHERUSER
Der Aktenkoffer-Abgleich kann bei Bedarf zur Benutzerinteraktion auffordern. Ohne diesen Wert ist eine Benutzerinteraktion nicht zulässig. Der hwndOwner-Parameter ist gültig.
RECONCILEF_NORESIDUESOK
Der Aktenkoffer-Versöhner kann Anträge auf Rückstände ignorieren und eine Abstimmung vornehmen. Abgleicher, die keine Rückstände unterstützen, sollten diesen Wert überprüfen, wenn ein Initiator Rückstände anfordert. Ohne diesen Wert muss ein Versöhner, der keine Rückstände unterstützt, sofort REC_E_NORESIDUES zurückgeben.
RECONCILEF_OMITSELFRESIDUE
Der Aktenkoffer-Abgleich kann alle diesem Objekt zugeordneten Rückstände verwerfen. Initiatoren verwenden diesen Wert in der Regel für Abstimmungen, die sich von Generation zu Generation schleifen.
RECONCILEF_ONLYYOUWERECHANGED
Die Reconcile-Methode wird aufgerufen, um Änderungen im geänderten Objekt an andere unveränderte Objekte weiterzuverbreiten. Dieser Wert wird nur festgelegt, wenn der folgende Schlüssel in der Registrierung vorhanden ist.
HKEY_CLASSES_ROOT CLSID {CLSID of reconciler} SingleChangeHook
Wenn dieser Schlüssel nicht in der Registrierung vorhanden ist, führt der Initiator die Abstimmung durch, indem er die anderen unveränderten Objekte binär identische Kopien des geänderten Objekts erstellt. Die rgpmkOtherInput-Moniker identifizieren die anderen Objekte. Dieser Wert wird nur in dwFlags festgelegt, wenn RECONCILEF_YOUMAYDOTHEUPDATES ebenfalls festgelegt ist. Wenn der Aktenkoffer-Abgleich die Aktualisierungen selbst erfolgreich abgeschlossen hat, sollte REC_S_IDIDTHEUPDATES zurückgegeben werden, und die Variable, auf die vom plOutIndex-Parameter verwiesen wird, sollte auf -1L festgelegt werden. Beachten Sie, dass S_OK bei Erfolg nicht zurückgegeben werden sollte, wenn dieser Wert in dwFlags festgelegt ist. Der Initiator speichert den Speicher des Quellobjekts nicht, wenn Versöhnung REC_S_IDIDTHEUPDATES zurückgibt. Wenn der Abgleich auf die Bitkopieimplementierung des Initiators zurückgreifen möchte, gibt er möglicherweise S_FALSE zurück.
RECONCILEF_RESUMEDRECONCILIATION
Der Aktenkoffer-Versöhner sollte den Abgleich unter Verwendung der bereitgestellten Teilrückstände fortsetzen. Ohne diesen Wert sollte der Abgleich alle "berücksichtigten, aber abgelehnten" Informationen in einer der Eingabeversionen ignorieren.
RECONCILEF_YOUMAYDOTHEUPDATES
Der Aktenkoffer-Abgleich kann die Updates durchführen. Ohne diesen Wert kann der Abgleich die Updates nicht ausführen. Wenn die Abstimmung erfolgreich abgeschlossen wurde, sollte der Abgleich REC_S_IDIDTHEUPDATES zurückgeben, wenn er die Updates ausgeführt hat, oder S_OK, wenn er die Updates nicht ausgeführt hat.
hwndOwner
Typ: HWND
Ein Handle für das Fenster, das als übergeordnetes Fenster für alle untergeordneten Fenster verwendet werden soll, die vom Aktenkoffer-Abgleich erstellt werden. Dieser Parameter ist nur gültig, wenn RECONCILEF_MAYBOTHERUSER in dwFlags angegeben ist.
hwndProgressFeedback
Typ: HWND
Ein Handle für das Statusfeedbackfenster, das vom Initiator angezeigt werden soll. Dieser Parameter ist nur gültig, wenn RECONCILEF_FEEDBACKWINDOWVALID in dwFlags angegeben ist. Der Aktenkoffer-Abgleich kann die SetWindowText-Funktion mithilfe dieses Fensterhandles aufrufen, um dem Benutzer zusätzliche Abstimmungsinformationen status anzuzeigen.
ulcInput
Typ: ULONG
Die Anzahl von Versionen oder Teilrückständen, die in dwFlags angegeben sind. Dieser Parameter darf nicht 0 sein.
rgpmkOtherInput
Typ: IMoniker**
Die Adresse eines Arrays, das die Adressen der Moniker enthält, die für den Zugriff auf die zu vereinbarenden Versionen oder teilweisen Rückstände verwendet werden sollen.
plOutIndex
Typ: LONG*
Die Adresse der Variablen, die einen Indexwert empfängt, der angibt, ob das Ergebnis der Abstimmung mit einer der ersten Versionen identisch ist. Die Variable wird auf -1L festgelegt, wenn das Abstimmungsergebnis eine Kombination aus zwei oder mehr Versionen ist. Andernfalls handelt es sich um einen nullbasierten Index, wobei 0 dieses Objekt, 1 die erste Version, 2 die zweite Version usw. angibt.
pstgNewResidues
Typ: IStorage*
Die Adresse der IStorage-Schnittstelle , die zum Speichern der neuen Rückstände verwendet wird. Dieser Parameter kann NULL sein, um anzugeben, dass Rückstände nicht gespeichert werden sollen.
pvReserved
Typ: void*
Reserviert; muss NULL sein.
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Abstimmung wurde erfolgreich abgeschlossen, und die Änderungen müssen an die anderen Objekte weitergegeben werden. |
|
Es wurden keine Versöhnungsaktionen durchgeführt. Der Aktenkoffer-Abgleich möchte auf die Implementierung der Bitkopie des Initiators zurückgreifen. Dieser Wert kann nur zurückgegeben werden, wenn RECONCILEF_ONLYYOUWERECHANGED in dwFlags festgelegt ist. |
|
Die Abstimmung wurde erfolgreich abgeschlossen, und alle beteiligten Objekte (das Objekt, das die Versöhnungsmethode implementiert, und alle anderen von rgpmkOtherInput beschriebenen Objekte) wurden entsprechend aktualisiert. Der Initiator muss daher nichts weiter tun, um die Änderungen zu verbreiten. Die Variable, auf die von plOutIndex verwiesen wird, sollte auf -1L festgelegt werden, wenn Reconcile diesen Wert zurückgibt. Der Initiator speichert den Speicher des Quellobjekts nicht, wenn Versöhnen diesen Wert zurückgibt. Dieser Wert kann nur zurückgegeben werden, wenn RECONCILEF_YOUMAYDOTHEUPDATES in dwFlags festgelegt wurde. |
|
Der Aktenkoffer versöhnte einige, aber nicht alle der Versöhnung. Möglicherweise ist eine Benutzerinteraktion erforderlich. Die Änderungen werden nicht an andere Objekte weitergegeben. |
|
Der Aktenkoffer versöhnte einige, aber nicht alle der Versöhnung. Möglicherweise ist eine Benutzerinteraktion erforderlich. Die Änderungen werden an die anderen Objekte weitergegeben. |
|
Der Aktenkoffer-Versöhner unterstützt die Entstehung von Rückständen nicht, sodass der Antrag auf Rückstände abgelehnt wird. Der Zustand des Objekts ist unverändert. |
|
Der Aktenkofferabgleich hat die Abstimmung als Reaktion auf eine Beendigungsanforderung des Initiators beendet (weitere Informationen finden Sie unter SetAbortCallback ). Der Zustand des Objekts ist nicht angegeben. |
|
Eine Abstimmung kann nicht durchgeführt werden, da die bereitgestellten Dokumentfassungen zu unähnlich sind. |
|
Das flag RECONCILEF_YOUMAYDOTHEUPDATES wurde nicht festgelegt, als die Versöhnungsimplementierung des Objekts aufgerufen wurde. Für diese Implementierung muss dieser Wert im dwFlags-Parameter festgelegt werden. |
|
Das Objekt ist ein eingebettetes OLE-Objekt, das ausgeführt werden muss, bevor dieser Vorgang ausgeführt werden kann. Der Zustand des Objekts ist unverändert. |
|
Unbekannter Fehler. |
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | reconcil.h |
DLL | Shell32.dll (Version 4.0 oder höher) |