다음을 통해 공유


IObjectSafetyImpl 클래스

이 클래스는 클라이언트가 개체의 IObjectSafety 안전 수준을 검색하고 설정할 수 있도록 인터페이스의 기본 구현을 제공합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl

매개 변수

T
에서 파생된 IObjectSafetyImpl클래스입니다.

dwSupportedSafety
컨트롤에 대해 지원되는 안전 옵션을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • INTERFACESAFE_FOR_UNTRUSTED_CALLER SetInterfaceSafetyOptions 매개 변수 riid식별된 인터페이스는 스크립팅에 안전해야 합니다.

  • INTERFACESAFE_FOR_UNTRUSTED_DATA 초기화하는 동안 신뢰할 수 없는 데이터에 대해 매개 변수 riid 로 식별 SetInterfaceSafetyOptions 된 인터페이스를 안전하게 만들어야 합니다.

멤버

공용 메서드

이름 설명
IObjectSafetyImpl::GetInterfaceSafetyOptions 개체에서 지원하는 안전 옵션과 개체에 대해 현재 설정된 안전 옵션을 검색합니다.
IObjectSafetyImpl::SetInterfaceSafetyOptions 개체를 초기화 또는 스크립팅에 안전하게 만듭니다.

공용 데이터 멤버

속성 설명
IObjectSafetyImpl::m_dwCurrentSafety 개체의 현재 안전 수준을 저장합니다.

설명

클래스 IObjectSafetyImpl 는 .의 기본 구현을 IObjectSafety제공합니다. 인터페이스 IObjectSafety 를 사용하면 클라이언트가 개체의 안전 수준을 검색하고 설정할 수 있습니다. 예를 들어 웹 브라우저는 컨트롤을 초기화에 안전하게 만들거나 스크립팅에 안전하도록 호출 IObjectSafety::SetInterfaceSafetyOptions 할 수 있습니다.

CATID_SafeForScripting 및 CATID_SafeForInitializing 구성 요소 범주와 함께 IMPLEMENTED_CATEGORY 매크로를 사용하면 구성 요소가 안전한지 지정하는 다른 방법을 사용할 수 있습니다.

관련 문서 ATL 자습서, ATL 프로젝트 만들기

상속 계층 구조

IObjectSafety

IObjectSafetyImpl

요구 사항

헤더: atlctl.h

IObjectSafetyImpl::GetInterfaceSafetyOptions

개체에서 지원하는 안전 옵션과 개체에 대해 현재 설정된 안전 옵션을 검색합니다.

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

설명

구현은 개체의 구현에서 지원하는 모든 인터페이스에 대한 적절한 값을 반환합니다 IUnknown::QueryInterface.

Important

지원하는 IObjectSafety 모든 개체는 자체 보안 및 위임하는 모든 개체의 보안을 담당합니다. 프로그래머가 사용자의 컨텍스트, 사이트 간 스크립팅에서 코드를 실행하여 발생하는 문제를 고려하고 적절한 영역 검사를 수행해야 합니다.

Windows SDK에서 IObjectSafety::GetInterfaceSafetyOptions를 참조하세요.

IObjectSafetyImpl::m_dwCurrentSafety

개체의 현재 안전 수준을 저장합니다.

DWORD m_dwCurrentSafety;

IObjectSafetyImpl::SetInterfaceSafetyOptions

m_dwCurrentSafety 멤버를 적절한 값으로 설정하여 개체를 초기화 또는 스크립팅에 안전하게 만듭니다.

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

설명

구현은 개체의 구현 IUnknown::QueryInterface에서 지원되지 않는 인터페이스에 대한 E_NOINTERFACE 반환합니다.

Important

지원하는 IObjectSafety 모든 개체는 자체 보안 및 위임하는 모든 개체의 보안을 담당합니다. 프로그래머가 사용자의 컨텍스트, 사이트 간 스크립팅에서 코드를 실행하여 발생하는 문제를 고려하고 적절한 영역 검사를 수행해야 합니다.

Windows SDK에서 IObjectSafety::SetInterfaceSafetyOptions를 참조하세요.

참고 항목

IObjectSafety 인터페이스
클래스 개요