Bagikan melalui


IOleUndoManager::Metode UndoTo (ocidl.h)

Menginstruksikan manajer urungkan untuk memanggil tindakan batalkan kembali melalui tumpukan urungkan, ke bawah ke dan termasuk unit urungkan yang ditentukan.

Sintaks

HRESULT UndoTo(
  [in] IOleUndoUnit *pUU
);

Parameter

[in] pUU

Arahkan ke unit tingkat atas untuk membatalkan. Jika parameter ini NULL, unit tingkat atas yang terakhir ditambahkan digunakan.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_INVALIDARG
Unit urungkan yang ditentukan tidak ada pada tumpukan urungkan.
E_ABORT
Upaya batalkan dan upaya putar kembali gagal. Manajer urungkan tidak boleh menyebarluaskan E_ABORT yang diperoleh dari unit urungkan yang terkandung. Sebaliknya, ini harus memetakan nilai E_ABORT apa pun yang dikembalikan dari unit urungkan lainnya ke E_FAIL. Manajer urungkan harus memetakan nilai E_ABORT yang dikembalikan dari unit pembatalan lainnya ke E_FAIL karena pemanggil IOleUndoManager::UndoTo tahu bahwa upaya batalkan dan upaya pembatalan gagal dan ini adalah satu-satunya alasan untuk nilai pengembalian E_ABORT.
E_UNEXPECTED
Manajer urungkan dinonaktifkan.

Keterangan

Metode ini memanggil metode IOleUndoUnit::D o pada setiap unit pembatalan tingkat atas. Kemudian, ia merilis unit urungkan itu.

Perhatikan bahwa unit undo yang ditentukan harus merupakan unit tingkat atas, biasanya diambil melalui IOleUndoManager::EnumUndoable.

Jika kesalahan dikembalikan dari unit urungkan, manajer urungkan perlu mencoba mengembalikan status dokumen untuk pulih dari kesalahan dengan melakukan tindakan pada tumpukan pengulangan.

Apa pun keberhasilan pemutaran kembali, manajer urungkan harus selalu menghapus kedua tumpukan sebelum mengembalikan kesalahan.

Jika manajer pembatalan telah memanggil metode Do pada lebih dari satu unit tingkat atas, seharusnya hanya memutar kembali unit yang mengembalikan kesalahan. Unit tingkat atas yang berhasil tidak boleh digulung balik.

Manajer pembatalan juga harus melacak apakah unit ditambahkan ke tumpukan yang berlawanan sehingga tidak akan mencoba putar kembali jika tidak ada yang ditambahkan. Lihat antarmuka IOleUndoManager untuk deskripsi terperinci tentang penanganan kesalahan.

Catatan untuk Penelepon

Dimungkinkan bagi unit urungkan untuk mengembalikan E_ABORT sebagai kegagalan, tetapi itu tidak memiliki arti khusus pada IOleUndoUnit. Karena manajer urungkan biasanya akan mengembalikan kode kesalahan yang diberikan oleh unit pembatalan yang gagal, dan E_ABORT memang memiliki arti khusus pada IOleUndoManager::UndoTo, manajer urungkan tidak boleh meneruskan E_ABORT karena pemanggil akan menafsirkan bahwa karena pemutaran kembali gagal ketika sebenarnya mungkin telah berhasil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ocidl.h

Lihat juga

IOleUndoManager

IOleUndoManager::EnumUndoable

IOleUndoManager::RedoTo

IOleUndoUnit::D o