Metodo IOleParentUndoUnit::Close (ocidl.h)
Chiude l'unità di annullamento padre specificata.
Sintassi
HRESULT Close(
[in] IOleParentUndoUnit *pPUU,
[in] BOOL fCommit
);
Parametri
[in] pPUU
Puntatore IOleParentUndoUnit all'unità padre aperta da chiudere.
[in] fCommit
Indica se mantenere o eliminare l'unità. Se TRUE, l'unità viene mantenuta nell'insieme. Se FALSE, l'unità viene eliminata. Questo parametro viene usato per consentire al client di eliminare un'unità di annullamento in fase di costruzione se si verifica un errore o un annullamento.
Valore restituito
Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:
Codice restituito | Descrizione |
---|---|
|
L'unità di annullamento padre non ha un elemento figlio aperto ed è stata chiusa correttamente. |
|
Se pPUU non corrisponde all'unità di annullamento padre attualmente aperta, le implementazioni di questo metodo devono restituire E_INVALIDARG senza modificare alcuno stato interno, a meno che l'unità padre non sia bloccata. |
Commenti
Un'unità di annullamento padre sa che viene chiusa quando restituisce S_FALSE da questo metodo. In quel momento, deve terminare qualsiasi comunicazione con altri oggetti che potrebbero fornire dati tramite interfacce private.
Note ai chiamanti
Un errore restituito indica una condizione di errore irreversibile.L'unità padre o il gestore di annullamento deve accettare l'unità di annullamento se fCommit è TRUE.
Note per gli implementatori
Per elaborare una richiesta di chiusura, un'unità di annullamento padre controlla prima di tutto se ha un'unità figlio aperta. In caso contrario, restituisce S_FALSE.Se ha un'unità figlio aperta, chiama il metodo IOleParentUndoUnit::Close sull'elemento figlio. Se l'elemento figlio restituisce S_FALSE, l'unità di annullamento padre verifica che pPUU punti all'unità figlio e chiuda l'unità di annullamento figlio. Se l'elemento figlio restituisce S_OK, la chiusura è stata gestita internamente e l'elemento padre non deve eseguire alcuna operazione.
Se l'unità padre è bloccata, deve controllare il parametro pPUU per determinare il codice restituito appropriato. Se pPUU punta a se stesso, deve restituire S_FALSE.
In caso contrario, deve restituire S_OK; il parametro fCommit viene ignorato; e non viene eseguita alcuna azione.
Se pPUU non corrisponde all'unità di annullamento padre attualmente aperta, le implementazioni di questo metodo devono restituire E_INVALIDARG senza modificare alcuno stato interno. L'unica eccezione è se l'unità è bloccata.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ocidl.h |