Buscar un nombre de perfil
Hace referencia a: Outlook 2013 | Outlook 2016
A veces, los clientes necesitan encontrar el nombre del perfil que se usa actualmente para la sesión, el nombre del perfil predeterminado o el nombre de un perfil alternativo instalado en el equipo.
Hay varias maneras de recuperar el nombre de un perfil durante el transcurso de una sesión. Si necesita encontrar el nombre de un perfil que no sea necesariamente el que se usa para la sesión, use el primer procedimiento. Si necesita encontrar el nombre del perfil predeterminado, use el segundo procedimiento. Si necesita encontrar el nombre del perfil actual para la sesión, use el último procedimiento.
Para buscar el nombre de cualquier perfil
Llame a MAPIAdminProfiles para recuperar un puntero de interfaz IProfAdmin .
Llame a IProfAdmin::GetProfileTable para acceder a la tabla de perfiles.
Llame al método IMAPITable::QueryRows de la tabla de perfiles para recuperar todas las filas de la tabla y examinar cada una de ellas para determinar si representa el perfil de destino.
Para buscar el nombre del perfil predeterminado
Llame a MAPIAdminProfiles.
Llame a IProfAdmin::GetProfileTable para acceder a la tabla de perfiles.
Cree una restricción de propiedad con una estructura SPropertyRestriction para que coincida con PR_DEFAULT_PROFILE (PidTagDefaultProfile) con el valor TRUE.
Llame a IMAPITable::FindRow para buscar la fila en la tabla de perfil que representa el perfil predeterminado. La columna PR_DISPLAY_NAME (PidTagDisplayName) contiene el nombre del perfil predeterminado.
Para buscar el nombre del perfil actual
Para buscar el nombre del perfil actual, complete uno de los pasos siguientes:
Suponiendo que tiene la estructura MAPIUID que representa una de las secciones del perfil actual, pásela en el parámetro lpUID a IMAPISession::OpenProfileSection. Recupere la propiedad PR_PROFILE_NAME (PidTagProfileName) de la sección de perfil mediante su método IMAPIProp::GetProps .
Llame a IMAPISession::GetStatusTable para acceder a la tabla de estado y busque la fila que tiene su columna PR_RESOURCE_TYPE (PidTagResourceType) establecida en MAPI_SUBSYSTEM. La columna PR_DISPLAY_NAME de esta fila es el nombre del perfil. No use la tabla de estado durante el inicio porque bloquea una aplicación hasta que la cola MAPI haya terminado de inicializar todos los proveedores de transporte. Esto puede degradar el rendimiento.