IProviderAdmin::GetProviderTable
Hace referencia a: Outlook 2013 | Outlook 2016
Proporciona acceso a la tabla de proveedores del servicio de mensajes, una lista de los proveedores de servicios del servicio de mensajes.
HRESULT GetProviderTable(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
Parameters
ulFlags
[in] Máscara de bits de marcas que controla el tipo de las cadenas devueltas en las columnas de la tabla del proveedor. Se puede establecer la marca siguiente:
MAPI_UNICODE
Las columnas de cadena están en formato Unicode. Si no se establece la marca MAPI_UNICODE, las columnas están en formato ANSI.
lppTable
[out] Puntero a un puntero a la tabla del proveedor.
Valor devuelto
S_OK
La tabla del proveedor se devolvió correctamente.
Comentarios
El método IProviderAdmin::GetProviderTable recupera un puntero a la tabla del proveedor del servicio de mensajes, una tabla que MAPI mantiene que contiene información sobre cada proveedor de servicios del servicio de mensajes.
A diferencia de la tabla de proveedor devuelta por el método IMsgServiceAdmin::GetProviderTable , la tabla de proveedores devuelta por IProviderAdmin::GetProviderTable puede incluir filas adicionales que representan información asociada a uno o varios proveedores de servicios en el servicio de mensajes. Esta información adicional se agrega al perfil con la palabra clave "Sections" del archivo Mapisvc.inf. Cuando un proveedor tiene secciones de perfil adicionales, almacena las estructuras MAPIUID para estas secciones en la propiedad PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS se guarda en la sección del perfil del servicio de mensajes.
Los proveedores que se han eliminado o están en uso pero que se han marcado para su eliminación no se incluyen en la tabla de proveedores. Las tablas de proveedor son estáticas, lo que significa que las adiciones o eliminaciones posteriores del servicio de mensajes no se reflejan en la tabla.
Si el servicio de mensajes no tiene proveedores, IProviderAdmin::GetProviderTable devuelve una tabla con cero filas y el valor devuelto S_OK.
Establecer la marca MAPI_UNICODE en el parámetro ulFlags afecta al formato de las columnas devueltas por los métodos IMAPITable::QueryColumns e IMAPITable::QueryRows .
Esta marca también controla los tipos de propiedad en el criterio de ordenación devuelto por el método IMAPITable::QuerySortOrder .
Para obtener una lista completa de las columnas de la tabla de proveedores, vea Tabla de proveedores.
Notas para los llamadores
Para recuperar las filas de una tabla de proveedor en orden de transporte, ordene la tabla por la columna PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).
Para recuperar solo las filas que representan a los proveedores de servicios (sin incluir filas adicionales), limite la recuperación a las filas que tengan un valor de PT_ERROR en su columna PR_RESOURCE_TYPE (PidTagResourceType).
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
MsgServiceTableDlg.cpp |
CMsgServiceTableDlg::OnDisplayItem |
MFCMAPI usa el método IProviderAdmin::GetProviderTable para obtener la tabla de proveedores que se representará en un nuevo cuadro de diálogo. |