Compartir a través de


Permisos para objetos y propiedades MAPI

Hace referencia a: Outlook 2013 | Outlook 2016

El permiso de acceso, o el conjunto de operaciones permisibles, puede ser una característica de los objetos MAPI y de las propiedades individuales admitidas por esos objetos. El acceso a objetos viene determinado por el elemento primario de un objeto. Para un mensaje, su carpeta determina los permisos de acceso. Para un usuario de mensajería o una lista de distribución, su contenedor de libreta de direcciones toma esta determinación. Cuando un objeto como un mensaje reside en dos carpetas, los permisos para las dos copias del objeto pueden ser diferentes.

Los clientes que usan estos objetos pueden solicitar el mayor nivel de acceso permitido para el objeto estableciendo la marca MAPI_BEST_ACCESS en la llamada IMAPISession::OpenEntry . En función del proveedor de servicios que implemente el objeto, es posible que al cliente se le conceda o no el nivel de acceso necesario. Los clientes pueden determinar el nivel de acceso que se les concedió llamando al método GetProps del objeto para recuperar la propiedad PR_ACCESS (PidTagAccess). Sin embargo, dado que el proveedor de servicios debe generar dinámicamente el valor de esta propiedad, se recomienda que los clientes lo recuperen solo cuando sea necesario.

Para determinar si un contenedor como una carpeta, un contenedor de libreta de direcciones o una lista de distribución permite la modificación, llame a su método GetProps para recuperar la propiedad PR_ACCESS_LEVEL (PidTagAccessLevel). El acceso a nivel de contenedor afecta a los clientes en términos de cómo muestran sus interfaces de usuario. También afecta a los implementadores de objetos dentro de contenedores en términos de la presentación de la interfaz de usuario y su implementación general.

El acceso a una propiedad determinada viene determinado por el esquema de propiedad configurado por MAPI para el objeto que posee la propiedad . Los esquemas de propiedades especifican el conjunto de propiedades necesarias y opcionales para un objeto y su permiso de acceso. A diferencia del acceso a objetos determinado por el elemento primario del objeto, el acceso a la propiedad es global. Cada objeto, independientemente de los requisitos de acceso del elemento primario del objeto, tiene los mismos permisos para la propiedad que determina el esquema.

Cuando una propiedad es de solo lectura, siempre estará disponible con una llamada GetProps o OpenProperty . Sin embargo, en función de la implementación del objeto que admite la propiedad, hay dos resultados posibles para el método SetProps para modificar una propiedad y el método DeleteProps para quitarla:

  • Conmutación por error y devolución de MAPI_E_NO_ACCESS

  • Realizar correctamente sin realizar ninguna acción

El acceso a propiedades y objetos también se puede recuperar o establecer mediante la interfaz IPropData que hereda de la interfaz IMAPIProp . MAPI proporciona una implementación de IPropData basada en datos en la memoria. Los proveedores de servicios pueden usar IPropData para implementar IMAPIProp en determinadas circunstancias, como para su objeto de estado o si usan una base de datos que no tiene transacciones integradas. IPropData funciona exclusivamente en memoria, lo que hace innecesario bloquear y desbloquear datos.

Vea también

Información general sobre MAPI (propiedad)