Metodo IMsmMerge2::MergeEx (mergemod.h)

Il metodo MergeEx esegue un merge del database corrente e del modulo corrente. L'unione collega i componenti nel modulo alla funzionalità identificata da Feature. La radice dell'albero della directory del modulo viene reindirizzata alla posizione specificata da RedirectDir. Per altre informazioni, vedere il metodo MergeEx dell'oggetto Merge .

Sintassi

HRESULT MergeEx(
  [in] const BSTR Feature,
  [in] const BSTR RedirectDir,
  [in] IUnknown   *pConfiguration
);

Parametri

[in] Feature

Nome di una funzionalità nel database. Un LPCWSTR può essere usato al posto di una BSTR.

[in] RedirectDir

Chiave di una voce nella tabella Directory del database. Un LPCWSTR può essere usato al posto di una BSTR. Questo parametro può essere NULL o una stringa vuota.

[in] pConfiguration

L'argomento pConfiguration è un'interfaccia implementata dal client. L'argomento può essere NULL. La presenza di questo argomento indica che lo strumento client è in grado di modificare i moduli di merge configurabili. La presenza di questo argomento non richiede al client di fornire dati di configurazione per qualsiasi elemento configurabile specifico.

Valore restituito

Questo metodo può restituire uno di questi valori.

Valore Significato
E_OUTOFMEMORY
Il sistema ha esaurito la memoria e non è stato possibile completare l'operazione.
E_INVALIDARG
Uno degli argomenti non è valido.
E_FAIL
L'unione è stata arrestata a causa di un errore. Alcune tabelle potrebbero non essere state unite. Per altre informazioni, vedere la sezione Osservazioni.
S_FALSE
La funzione ha avuto esito positivo, ma sono presenti errori e l'unione stessa potrebbe non essere valida.
S_OK
Funzione completata.

Commenti

Questa funzione esegue un'unione del database corrente e del modulo corrente. La radice dell'albero della directory del modulo viene reindirizzata alla posizione specificata da RedirectDir. Se si verificano conflitti di merge, incluse le esclusioni, vengono inseriti nell'enumeratore di errore per il recupero successivo, ma non causa l'esito negativo dell'unione. Gli errori possono essere recuperati usando la funzione get_Errors . Gli errori e i messaggi informativi verranno pubblicati nel file di log corrente.

Al termine dell'unione, i componenti nel modulo vengono collegati alla funzionalità identificata da Feature. Questa funzionalità deve già esistere e non viene creata. Il modulo può essere collegato a funzionalità aggiuntive usando la funzione Connect .

Le modifiche apportate al database non verranno salvate su disco a meno che la funzione CloseDatabase non venga chiamata con bCommit impostata su TRUE.

Quando l'unione ha esito negativo a causa di una configurazione del modulo non corretta, la funzione restituisce E_FAIL. Sono inclusi questi errori msmErrorType: msmErrorBadNullSubstitution, msmErrorBadSubstitutionType, msmErrorBadNullResponse, msmErrorMissingConfigItem e msmErrorDataRequestFailed. Questi errori causano l'arresto immediato dell'unione quando viene rilevato l'errore. L'oggetto error viene ancora aggiunto all'enumeratore quando MergeEx restituisce E_FAIL. Per altre informazioni sugli errori msmErrorType, vedere funzione get_Type (oggetto error). Tutti gli altri errori causano la restituzione di MergeEx S_FALSE e causano la continuazione dell'unione.

Requisiti

   
Client minimo supportato Mergemod.dll 2.0 o versioni successive
Piattaforma di destinazione Windows
Intestazione mergemod.h
DLL Mergemod.dll

Vedi anche

Automazione del modulo di merge