Creación de un perfil mediante código personalizado
Hace referencia a: Outlook 2013 | Outlook 2016
Si decide escribir código para crear un perfil, asegúrese de comprender cómo ordenar las entradas de perfil y el tipo y la cantidad de información que se necesita para cada entrada. Las implicaciones de ordenar entradas en un perfil se explican en Perfiles MAPI.
Para crear un perfil con código de C o C++
Lea el archivo de encabezado de cada servicio de mensajes. Comprenda qué propiedades necesitará configurar y qué valores usará.
Llame a la función MAPIAdminProfiles para recuperar un puntero de interfaz IProfAdmin .
Llame a IProfAdmin::CreateProfile para crear el perfil. Si desea crear un perfil con los servicios de mensajes enumerados en la sección [Servicios predeterminados] de MAPISVC. INF, establezca la marca de MAPI_DEFAULT_SERVICE. Si desea permitir que el usuario escriba información de configuración, establezca la marca MAPI_DIALOG. Asegúrese de establecer esta marca si no toda la información necesaria está disponible a través de MAPISVC. Archivo INF. CreateProfile llama a la función de punto de entrada para que cada servicio de mensajes se agregue al perfil con MSG_SERVICE_CREATE establecido como parámetro ulContext .
Llame a IProfAdmin::AdminServices para obtener un objeto de administración del servicio de mensajes.
Use el objeto de administración del servicio de mensajes para agregar servicios de mensajes al perfil. Para cada servicio de mensajes que quiera agregar:
Llame al método IMsgServiceAdmin::CreateMsgService para crear el nuevo servicio de mensajes.
Llame a IMsgServiceAdmin::ConfigureMsgService, pasando la estructura MAPIUID del servicio que acaba de crear y una matriz de valores de propiedad con sus propiedades de configuración.
Para recuperar el identificador de un servicio recién agregado, que es su propiedad PR_SERVICE_UID (PidTagServiceUid), llame a IMsgServiceAdmin::GetMsgServiceTable para acceder a la tabla de servicio de mensajes y busque la fila que representa el servicio de mensajes. La última fila de la tabla representará el servicio de mensajes agregado más recientemente.
Para que un nuevo perfil sea temporal, llame al método IProfAdmin::D eleteProfile inmediatamente después de iniciar sesión. DeleteProfile marcará el nuevo perfil como eliminado mientras se puede usar durante la sesión. Dado que no se incluirá en la tabla de perfiles de la sesión, otros clientes no podrán usarla.