Clase IObjectSafetyImpl
Esta clase proporciona una implementación predeterminada de la interfaz IObjectSafety
para permitir que un cliente recupere y establezca los niveles de seguridad de un objeto.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
template <class T,DWORD dwSupportedSafety>
class IObjectSafetyImpl
Parámetros
T
La clase, que se deriva de IObjectSafetyImpl
.
dwSupportedSafety
Especifica las opciones de seguridad admitidas para el control. Puede ser uno de los siguientes valores:
INTERFACESAFE_FOR_UNTRUSTED_CALLER La interfaz identificada por el parámetro
riid
de SetInterfaceSafetyOptions debe ser segura para el scripting.INTERFACESAFE_FOR_UNTRUSTED_DATA La interfaz identificada por el parámetro
riid
deSetInterfaceSafetyOptions
debe ser segura para los datos que no son de confianza durante la inicialización.
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
IObjectSafetyImpl::GetInterfaceSafetyOptions | Recupera las opciones de seguridad admitidas por el objeto, así como las opciones de seguridad establecidas actualmente para el objeto. |
IObjectSafetyImpl::SetInterfaceSafetyOptions | Hace que el objeto sea seguro para la inicialización o scripting. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
IObjectSafetyImpl::m_dwCurrentSafety | Almacena el nivel de seguridad actual del objeto. |
Comentarios
La clase IObjectSafetyImpl
proporciona una implementación predeterminada de IObjectSafety
. La interfaz IObjectSafety
permite a un cliente recuperar y establecer los niveles de seguridad de un objeto. Por ejemplo, un explorador web puede llamar a IObjectSafety::SetInterfaceSafetyOptions
para que un control sea seguro para la inicialización o para el scripting.
Tenga en cuenta que el uso de la macro IMPLEMENTED_CATEGORY con las categorías de componentes CATID_SafeForScripting y CATID_SafeForInitializing proporciona una manera alternativa de especificar que un componente es seguro.
Artículos relacionados Tutorial de ATL, Creación de un proyecto ATL
Jerarquía de herencia
IObjectSafety
IObjectSafetyImpl
Requisitos
Encabezado: atlctl.h
IObjectSafetyImpl::GetInterfaceSafetyOptions
Recupera las opciones de seguridad admitidas por el objeto, así como las opciones de seguridad establecidas actualmente para el objeto.
HRESULT GetInterfaceSafetyOptions(
REFIID riid,
DWORD* pdwSupportedOptions,
DWORD* pdwEnabledOptions);
Comentarios
La implementación devuelve los valores adecuados para cualquier interfaz compatible con la implementación de IUnknown::QueryInterface
.
Importante
Cualquier objeto que admita IObjectSafety
es responsable de su propia seguridad y de la de cualquier objeto que delegue. El programador debe tener en cuenta los problemas derivados de la ejecución de código en el contexto del usuario, el scripting entre sitios y realizar una comprobación de zona adecuada.
Consulte IObjectSafety::GetInterfaceSafetyOptions en Windows SDK.
IObjectSafetyImpl::m_dwCurrentSafety
Almacena el nivel de seguridad actual del objeto.
DWORD m_dwCurrentSafety;
IObjectSafetyImpl::SetInterfaceSafetyOptions
Hace que el objeto sea seguro para la inicialización o scripting estableciendo el miembro m_dwCurrentSafety en el valor adecuado.
HRESULT SetInterfaceSafetyOptions(
REFIID riid,
DWORD dwOptionsSetMask,
DWORD dwEnabledOptions);
Comentarios
La implementación devuelve E_NOINTERFACE para cualquier interfaz no admitida por la implementación de IUnknown::QueryInterface
.
Importante
Cualquier objeto que admita IObjectSafety
es responsable de su propia seguridad y de la de cualquier objeto que delegue. El programador debe tener en cuenta los problemas derivados de la ejecución de código en el contexto del usuario, el scripting entre sitios y realizar una comprobación de zona adecuada.
Consulte IObjectSafety::SetInterfaceSafetyOptions en Windows SDK.