Compartir a través de


IProviderAdmin::OpenProfileSection

Hace referencia a: Outlook 2013 | Outlook 2016

Abre una sección de perfil del perfil actual y devuelve un puntero IProfSect para obtener más acceso.

HRESULT OpenProfileSection(
  LPMAPIUID lpUID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPPROFSECT FAR * lppProfSect
);

Parameters

lpUID

[in] Puntero a la estructura MAPIUID que contiene el identificador único de la sección de perfil que se va a abrir. Los clientes no deben pasar NULL para el parámetro lpUID . Los proveedores de servicios pueden pasar NULL para recuperar MAPIUID cuando llaman desde sus funciones de punto de entrada del servicio de mensajes.

lpInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder a la sección de perfil. Al pasar NULL, se devuelve la interfaz estándar (IProfSect) de la sección de perfil.

ulFlags

[in] Máscara de bits de marcas que controla cómo se abre la sección de perfil. Se pueden establecer las siguientes marcas:

MAPI_DEFERRED_ERRORS

Permite que OpenProfileSection devuelva correctamente, posiblemente antes de que la sección de perfil esté totalmente disponible para el autor de la llamada. Si la sección de perfil no está disponible, realizar una llamada posterior a ella puede generar un error.

MAPI_MODIFY

Solicita permiso de lectura y escritura. De forma predeterminada, los objetos se abren con permiso de solo lectura y los autores de llamadas no deben funcionar en la suposición de que se ha concedido el permiso de lectura y escritura. Los clientes no tienen permiso de lectura y escritura para las secciones del proveedor del perfil.

MAPI_FORCE_ACCESS

Permite el acceso a todas las secciones de perfil, incluso a las que pertenecen proveedores de servicios individuales.

lppProfSect

[out] Puntero a un puntero a la sección de perfil.

Valor devuelto

S_OK

La sección de perfil se abrió correctamente.

MAPI_E_NO_ACCESS

Se intentó modificar una sección de perfil de solo lectura o acceder a un objeto para el que el usuario no tiene permisos suficientes.

MAPI_E_NOT_FOUND

La sección de perfil solicitado no existe.

Comentarios

El método IProviderAdmin::OpenProfileSection abre una sección de perfil, lo que permite al autor de la llamada leer información de y, posiblemente, escribir información en el perfil activo.

Los clientes no pueden abrir secciones de perfil que pertenecen a proveedores mediante el método OpenProfileSection .

Varios clientes o proveedores de servicios pueden abrir simultáneamente una sección de perfil con permiso de solo lectura. Sin embargo, cuando una sección de perfil está abierta con permiso de lectura y escritura, no se pueden realizar otras llamadas para abrir la sección, independientemente del tipo de acceso. Si una sección de perfil está abierta con permiso de solo lectura, se producirá un error en una llamada posterior para solicitar el permiso de lectura y escritura con MAPI_E_NO_ACCESS. Del mismo modo, si una sección está abierta con permiso de lectura y escritura, también se producirá un error en una llamada posterior para solicitar el permiso de solo lectura.

Notas para los llamadores

Si solicita que OpenProfileSection abra una sección de perfil inexistente pasando MAPI_MODIFY en ulFlags y una MAPIUID desconocida en lpUID, se creará la sección de perfil.

Si solicita que OpenProfileSection abra una sección inexistente con permiso de solo lectura, devuelve MAPI_E_NOT_FOUND.

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
MAPIProfileFunctions.cpp
OpenProfileSection
MFCMAPI usa el método IProviderAdmin::OpenProfileSection para abrir una sección de perfil desde el perfil actual.

Vea también

IMAPIProp : IUnknown

IProfSect : IMAPIProp

MAPIUID

IProviderAdmin : IUnknown

MFCMAPI como un ejemplo de c�digo