Compartir a través de


IMAPIContainer::OpenEntry

Hace referencia a: Outlook 2013 | Outlook 2016

Abre un objeto en el contenedor y devuelve un puntero de interfaz para obtener más acceso.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

Parameters

cbEntryID

[in] Recuento de bytes en el identificador de entrada al que apunta el parámetro lpEntryID .

lpEntryID

[in] Puntero al identificador de entrada del objeto que se va a abrir. Si lpEntryID se establece en NULL, se abre el contenedor de nivel superior de la jerarquía del contenedor.

lpInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder al objeto. Si se pasa NULL, se devuelve el identificador de la interfaz estándar del objeto. Para los mensajes, la interfaz estándar es IMAPIMessageSite : IUnknown; para carpetas, es IMAPIFolder : IMAPIContainer. Las interfaces estándar para los objetos de libreta de direcciones son IDistList: IMAPIContainer para una lista de distribución y IMailUser : IMAPIProp para un usuario de mensajería.

ulFlags

[in] Máscara de bits de marcas que controla cómo se abre el objeto. Se pueden establecer las siguientes marcas:

MAPI_BEST_ACCESS

Solicita que el objeto se abra con los permisos de red máximos permitidos para el usuario y el acceso máximo a la aplicación cliente. Por ejemplo, si el cliente tiene permiso de lectura y escritura, el objeto debe abrirse con permiso de lectura y escritura; Si el cliente tiene acceso de solo lectura, el objeto debe abrirse con acceso de solo lectura.

MAPI_DEFERRED_ERRORS

Permite que OpenEntry devuelva correctamente, posiblemente antes de que el objeto esté totalmente disponible para el cliente que realiza la llamada. Si el objeto no está disponible, la realización de una llamada de objeto posterior puede generar un error.

MAPI_MODIFY

Solicita permiso de lectura y escritura. De forma predeterminada, los objetos se abren con acceso de solo lectura y los clientes no deben funcionar en la suposición de que se ha concedido el permiso de lectura y escritura.

SHOW_SOFT_DELETES

Muestra los elementos que están marcados actualmente como eliminados temporalmente, es decir, están en la fase de tiempo de retención de elementos eliminados.

lpulObjType

[out] Puntero al tipo del objeto abierto.

lppUnk

[out] Puntero a un puntero a la implementación de interfaz que se va a usar para acceder al objeto abierto.

Valor devuelto

S_OK

El objeto se abrió correctamente.

MAPI_E_NO_ACCESS

El usuario no tiene permisos suficientes para abrir el objeto o se intentó abrir un objeto de solo lectura con permiso de lectura y escritura.

MAPI_E_NOT_FOUND

El identificador de entrada especificado por lpEntryID no representa un objeto.

MAPI_E_UNKNOWN_ENTRYID

El identificador de entrada del parámetro lpEntryID no es de un formato reconocido por el contenedor.

Comentarios

El método IMAPIContainer::OpenEntry abre un objeto en un contenedor y devuelve un puntero a una implementación de interfaz que se usará para obtener más acceso.

Notas para los llamadores

Dado que no es necesario que los proveedores de servicios devuelvan una implementación de interfaz del tipo especificado por el identificador de interfaz en el parámetro lpInterface , compruebe el valor al que apunta el parámetro lpulObjType . Si es necesario, convierta el puntero devuelto en lppUnk en un puntero del tipo adecuado.

De forma predeterminada, los proveedores de servicios abren objetos con acceso de solo lectura a menos que establezca la marca MAPI_MODIFY o MAPI_BEST_ACCESS. Cuando se establece una de estas marcas, los proveedores de servicios intentan devolver un objeto modificable. Sin embargo, no suponga que, dado que solicitó un objeto modificable, el objeto abierto tiene permiso de lectura y escritura. Planifique la posibilidad de que se produzca un error en una modificación posterior o recupere la propiedad PR_ACCESS_LEVEL del objeto para determinar el nivel de acceso concedido por OpenEntry.

Vea también

IMAPIContainer : IMAPIProp