Método IPersistStorage::SaveCompleted (objidl.h)
Notifica o objeto que ele pode gravar em seu objeto de armazenamento. Ele faz isso notificando o objeto de que ele pode reverter do modo NoScribble (no qual ele não deve gravar em seu objeto de armazenamento), no modo Normal (no qual ele pode). O objeto entra no modo NoScribble quando recebe uma chamada IPersistStorage::Save .
Sintaxe
HRESULT SaveCompleted(
[in] IStorage *pStgNew
);
Parâmetros
[in] pStgNew
Um ponteiro IStorage para o novo objeto de armazenamento, se diferente do objeto de armazenamento antes de salvar. Esse ponteiro poderá ser NULL se o objeto de armazenamento atual não for alterado durante a operação de salvamento. Se o objeto estiver no modo HandsOff, esse parâmetro deverá ser não NULL.
Retornar valor
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
O objeto permaneceu no modo HandsOff ou no modo NoScribble devido à falta de memória. Normalmente, esse erro ocorre quando o objeto não é capaz de abrir os fluxos e objetos de armazenamento necessários em pStgNew. |
|
O parâmetro pStgNew não é válido. Normalmente, esse erro ocorre se pStgNew for NULL quando o objeto estiver no modo HandsOff. |
|
O objeto está no modo Normal e não houve nenhuma chamada anterior para IPersistStorage::Save ou IPersistStorage::HandsOffStorage. |
Comentários
Esse método notifica um objeto de que ele pode reverter para o modo Normal e pode gravar novamente em seu objeto de armazenamento. O objeto sai do modo NoScribble ou do modo HandsOff.
Se o objeto estiver revertendo do modo HandsOff, o parâmetro pStgNew deverá ser não NULL. No modo HandsOffFromNormal, esse parâmetro é o novo objeto de armazenamento que substitui aquele que foi revogado pelo método IPersistStorage::HandsOffStorage . Os dados no objeto de armazenamento são uma cópia dos dados do objeto de armazenamento revogado. No modo HandsOffAfterSave, os dados são os mesmos que os dados salvos mais recentemente. Não é o mesmo que os dados no objeto de armazenamento revogado.
Se o objeto estiver revertendo do modo NoScribble, o parâmetro pStgNew poderá ser NULL ou não NULL. Se FOR NULL, o objeto terá mais uma vez acesso ao objeto de armazenamento. Se não for NULL, o objeto de componente deverá simular o recebimento de uma chamada para seu método HandsOffStorage . Se o objeto de componente não puder simular essa chamada, seu contêiner deverá estar preparado para realmente chamar o método HandsOffStorage .
Esse método deve chamar recursivamente todos os objetos aninhados carregados ou em execução.
Se esse método retornar um código de erro, o objeto não será retornado ao modo Normal. Assim, o objeto contêiner pode tentar estratégias de salvamento diferentes.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | objidl.h |