Compartir a través de


IMsgServiceAdmin::OpenProfileSection

Hace referencia a: Outlook 2013 | Outlook 2016

Abre una sección 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

Puntero a la estructura MAPIUID que identifica la sección de perfil.

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 un puntero a su interfaz estándar en el parámetro lppProfSect . La interfaz estándar de una sección de perfil es IProfSect.

ulFlags

[in] Máscara de bits de marcas que controla el acceso a 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 cliente que realiza 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, las secciones de perfil se abren con permiso de solo lectura y los clientes no deben funcionar en la suposición de que se ha concedido el permiso de lectura y escritura.

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ó acceder a una sección de perfil para la que el autor de la llamada no tiene permisos suficientes.

MAPI_E_NOT_FOUND

La sección de perfil solicitado no existe.

Comentarios

El método IMsgServiceAdmin::OpenProfileSection abre una sección de perfil, un objeto que admite la interfaz IProfSect . Las secciones de perfil se usan para leer información de y escribir información en el perfil de sesión.

OpenProfileSection no se puede usar para abrir secciones de perfil propiedad de proveedores de servicios individuales a menos que se use MAPI_FORCE_ACCESS.

Notas para los llamadores

Varios clientes pueden abrir una sección de perfil con permiso de solo lectura, pero solo un cliente puede abrir una sección de perfil con permiso de lectura y escritura. Si otro cliente tiene abierta una sección de perfil que intenta abrir llamando a OpenProfileSection con la marca MAPI_MODIFY establecida, se producirá un error en la llamada y devolverá MAPI_E_NO_ACCESS.

Se produce un error en una operación abierta de solo lectura si la sección está abierta para escritura.

Puede crear una sección de perfil llamando a OpenProfileSection con la marca MAPI_MODIFY y una estructura MAPIUID inexistente en el parámetro lpUID . Asegúrese de especificar MAPI_MODIFY. Si establece lpUID para que apunte a un MAPIUID inexistente y OpenProfileSection está establecido para usar el modo de acceso predeterminado de solo lectura, la llamada producirá un error con 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 IMsgServiceAdmin::OpenProfileSection para abrir una sección de perfil.

Vea también

IMAPIProp : IUnknown

IMAPISession::OpenProfileSection

IProfSect : IMAPIProp

MAPIUID

IMsgServiceAdmin : IUnknown

MFCMAPI como un ejemplo de c�digo