Bagikan melalui


Kelas IObjectSafetyImpl

Kelas ini menyediakan implementasi IObjectSafety default antarmuka untuk memungkinkan klien mengambil dan mengatur tingkat keamanan objek.

Penting

Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.

Sintaks

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

Parameter

T
Kelas Anda, berasal dari IObjectSafetyImpl.

dwSupportedSafety
Menentukan opsi keamanan yang didukung untuk kontrol. Dapat berupa salah satu dari nilai berikut:

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER Antarmuka yang diidentifikasi oleh parameter riid SetInterfaceSafetyOptions harus dibuat aman untuk pembuatan skrip.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA Antarmuka yang diidentifikasi oleh SetInterfaceSafetyOptions parameter riid harus dibuat aman untuk data yang tidak tepercaya selama inisialisasi.

Anggota

Metode Publik

Nama Deskripsi
IObjectSafetyImpl::GetInterfaceSafetyOptions Mengambil opsi keamanan yang didukung oleh objek, serta opsi keamanan yang saat ini diatur untuk objek.
IObjectSafetyImpl::SetInterfaceSafetyOptions Membuat objek aman untuk inisialisasi atau pembuatan skrip.

Anggota Data Publik

Nama Deskripsi
IObjectSafetyImpl::m_dwCurrentSafety Menyimpan tingkat keamanan objek saat ini.

Keterangan

Kelas IObjectSafetyImpl menyediakan implementasi default .IObjectSafety Antarmuka IObjectSafety memungkinkan klien untuk mengambil dan mengatur tingkat keamanan objek. Misalnya, browser web dapat memanggil IObjectSafety::SetInterfaceSafetyOptions untuk membuat kontrol aman untuk inisialisasi atau aman untuk pembuatan skrip.

Perhatikan bahwa menggunakan makro IMPLEMENTED_CATEGORY dengan kategori komponen CATID_SafeForScripting dan CATID_SafeForInitializing menyediakan cara alternatif untuk menentukan bahwa komponen aman.

Artikel Terkait Tutorial ATL, Membuat Proyek ATL

Hierarki Warisan

IObjectSafety

IObjectSafetyImpl

Persyaratan

Header: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

Mengambil opsi keamanan yang didukung oleh objek, serta opsi keamanan yang saat ini diatur untuk objek.

HRESULT GetInterfaceSafetyOptions(
    REFIID riid,
    DWORD* pdwSupportedOptions,
    DWORD* pdwEnabledOptions);

Keterangan

Implementasi mengembalikan nilai yang sesuai untuk antarmuka apa pun yang didukung oleh implementasi objek dari IUnknown::QueryInterface.

Penting

Objek apa pun yang mendukung IObjectSafety bertanggung jawab atas keamanannya sendiri, dan objek apa pun yang didelegasikannya. Programmer harus memperhitungkan masalah yang timbul dari menjalankan kode dalam konteks pengguna, pembuatan skrip lintas situs, dan melakukan pemeriksaan zona yang sesuai.

Lihat IObjectSafety::GetInterfaceSafetyOptions di Windows SDK.

IObjectSafetyImpl::m_dwCurrentSafety

Menyimpan tingkat keamanan objek saat ini.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

Membuat objek aman untuk inisialisasi atau pembuatan skrip dengan mengatur anggota m_dwCurrentSafety ke nilai yang sesuai.

HRESULT SetInterfaceSafetyOptions(
    REFIID riid,
    DWORD dwOptionsSetMask,
    DWORD dwEnabledOptions);

Keterangan

Implementasi mengembalikan E_NOINTERFACE untuk antarmuka apa pun yang tidak didukung oleh implementasi objek .IUnknown::QueryInterface

Penting

Objek apa pun yang mendukung IObjectSafety bertanggung jawab atas keamanannya sendiri, dan objek apa pun yang didelegasikannya. Programmer harus memperhitungkan masalah yang timbul dari menjalankan kode dalam konteks pengguna, pembuatan skrip lintas situs, dan melakukan pemeriksaan zona yang sesuai.

Lihat IObjectSafety::SetInterfaceSafetyOptions di Windows SDK.

Lihat juga

Antarmuka IObjectSafety
Gambaran Umum Kelas