Compartir a través de


Recuperación de la identidad principal y del proveedor

Hace referencia a: Outlook 2013 | Outlook 2016

Los proveedores de servicios, normalmente proveedores de libretas de direcciones, tienen la opción de proporcionar una identidad que se puede usar para representar la sesión en una variedad de situaciones. Tres propiedades describen la identidad de un proveedor:

Estas propiedades se establecen en el identificador de entrada, el nombre para mostrar y la clave de búsqueda del objeto de identidad correspondiente, que suele ser un usuario de mensajería. Los proveedores que proporcionan una identidad también establecen la marca de STATUS_PRIMARY_IDENTITY en su propiedad PR_RESOURCE_FLAGS (PidTagResourceFlags).

En función de sus necesidades, puede usar la identidad de un proveedor determinado o la identidad principal para la sesión. Puede usar la identidad de un proveedor también con fines de presentación o para recuperar propiedades, como PR_RESOURCE_PATH (PidTagResourcePath). PR_RESOURCE_PATH, si se establece, contiene la ruta de acceso a los archivos usados o creados por el proveedor. Recupere la propiedad PR_RESOURCE_PATH del proveedor que proporciona la identidad principal cuando desee buscar archivos que pertenecen al usuario de la sesión.

Para recuperar la identidad de un proveedor específico

  1. Llame a IMAPISession::GetStatusTable para acceder a la tabla de estado.

  2. Cree una restricción mediante una estructura SPropertyRestriction para que coincida con la columna PR_PROVIDER_DLL_NAME (PidTagProviderDllName) con el nombre del proveedor especificado.

  3. Llame a IMAPITable::FindRow para buscar la fila del proveedor. La identidad del proveedor se almacenará en la columna PR_IDENTITY_ENTRYID , si existe.

Para recuperar la identidad principal de una sesión

  • Llame a IMAPISession::QueryIdentity. QueryIdentity basa la identidad de sesión en la existencia del valor de STATUS_PRIMARY_IDENTITY en la columna PR_RESOURCE_FLAGS de una de las filas de la tabla de estado. Si ninguna de las filas de estado tiene este valor establecido, QueryIdentity asigna la identidad al primer proveedor de servicios que establece las tres propiedades PR_IDENTITY. Si ningún proveedor de servicios proporciona una identidad, QueryIdentity devuelve MAPI_W_NO_SERVICE. Cuando esto sucede, debe crear una cadena de caracteres para representar a un usuario genérico que puede servir como identidad principal.

Para establecer explícitamente la identidad principal de una sesión