Metode IPersist::GetClassID (objidl.h)

Mengambil pengidentifikasi kelas (CLSID) objek.

Sintaks

HRESULT GetClassID(
  [out] CLSID *pClassID
);

Parameter

[out] pClassID

Penunjuk ke lokasi yang menerima CLSID saat dikembalikan. CLSID adalah pengidentifikasi unik global (GUID) yang secara unik mewakili kelas objek yang menentukan kode yang dapat memanipulasi data objek.

Nilai kembali

Jika metode berhasil, nilai yang dikembalikan adalah S_OK. Jika tidak, itu E_FAIL.

Keterangan

Metode GetClassID mengambil pengidentifikasi kelas (CLSID) untuk objek, yang digunakan dalam operasi selanjutnya untuk memuat kode khusus objek ke dalam konteks pemanggil.

Catatan untuk Penelepon

Aplikasi kontainer mungkin memanggil metode ini untuk mengambil CLSID asli dari objek yang diperlakukan sebagai kelas yang berbeda. Panggilan seperti itu akan diperlukan jika pengguna melakukan operasi pengeditan yang mengharuskan objek disimpan. Jika kontainer menyimpannya menggunakan treat-as CLSID, aplikasi asli tidak akan lagi dapat mengedit objek. Biasanya, dalam hal ini, kontainer memanggil fungsi pembantu OleSave , yang melakukan semua langkah yang diperlukan. Untuk alasan ini, sebagian besar aplikasi kontainer tidak perlu memanggil metode ini secara langsung.

Pengecualiannya adalah kontainer yang menyediakan handler objek untuk objek tertentu. Secara khusus, aplikasi kontainer tidak boleh mendapatkan CLSID objek dan kemudian menggunakannya untuk mengambil informasi khusus kelas dari registri. Sebagai gantinya, kontainer harus menggunakan antarmuka IOleObject dan IDataObject untuk mengambil informasi khusus kelas tersebut langsung dari objek .

Catatan untuk Pelaksana

Biasanya, implementasi metode ini hanya menyediakan CLSID konstan untuk objek. Namun, jika kunci registri TreatAs objek telah ditetapkan oleh aplikasi yang mendukung emulasi (dan begitu juga memperlakukan objek sebagai salah satu kelas yang berbeda), panggilan ke GetClassID harus menyediakan CLSID yang ditentukan dalam kunci TreatAs . Untuk informasi selengkapnya tentang emulasi, lihat CoTreatAsClass.

Saat objek dalam status berjalan, handler default memanggil implementasi GetClassID yang mendelegasikan panggilan ke implementasi dalam objek. Ketika objek tidak berjalan, handler default sebagai gantinya memanggil fungsi ReadClassStg untuk membaca CLSID yang disimpan di penyimpanan objek.

Jika Anda menulis handler objek kustom untuk objek Anda, Anda mungkin hanya ingin mendelegasikan metode ini ke implementasi handler default (lihat OleCreateDefaultHandler).

Catatan Moniker URL

Metode ini mengembalikan CLSID_StdURLMoniker.

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 objidl.h

Lihat juga

IBaseFilter

IPersist

IPersistFolder