Compartir a través de


IMsgServiceAdmin::GetProviderTable

Hace referencia a: Outlook 2013 | Outlook 2016

Proporciona acceso a la tabla de proveedores, una lista de los proveedores de servicios del perfil.

HRESULT GetProviderTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Parameters

ulFlags

[in] Siempre NULL.

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 IMsgServiceAdmin::GetProviderTable proporciona acceso a la tabla del proveedor MAPI, una tabla que enumera todos los proveedores de libreta de direcciones, almacén de mensajes y transporte instalados actualmente en el perfil.

A diferencia de la tabla de proveedor devuelta a través del método IProviderAdmin::GetProviderTable , la tabla de proveedores devuelta a través de IMsgServiceAdmin::GetProviderTable no puede incluir filas adicionales que representen información asociada a uno o varios proveedores de servicios en el perfil.

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 perfil no se reflejan en la tabla.

Si el perfil no tiene proveedores, GetProviderTable devuelve una tabla con cero filas y el valor devuelto S_OK.

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, use el procedimiento siguiente:

  1. Llame al método IMAPITable::Restrict para imponer una restricción de propiedad que coincida con la propiedad PR_RESOURCE_TYPE (PidTagResourceType) con MAPI_TRANSPORT_PROVIDER.

  2. Llame al método IMAPITable::SortTable para ordenar la tabla por la columna PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).

  3. Llame al método IMAPITable::QueryRows para obtener las filas de la tabla.

Una alternativa a estas llamadas es realizar una sola llamada a la función HrQueryAllRows con todas las estructuras de datos adecuadas que se pasan.

Si recupera las columnas PR_SERVICE_UID (PidTagServiceUid) en cada una de las filas, puede usar esta matriz de estructuras MAPIUID para establecer el orden de transporte en una llamada a IMsgServiceAdmin::MsgServiceTransportOrder.

Al establecer la marca de MAPI_UNICODE en el parámetro ulFlags , se hace lo siguiente:

  • Establece el tipo de cadena en Unicode para los datos devueltos para las columnas activas iniciales de la tabla de proveedor por el método IMAPITable::QueryColumns . Las columnas activas iniciales de una tabla de proveedor son aquellas columnas que devuelve el método QueryColumns antes de que el proveedor que contiene la tabla llame al método IMAPITable::SetColumns .

  • Establece el tipo de cadena en Unicode para los datos devueltos para las filas activas iniciales de la tabla del proveedor por QueryRows. Las filas activas iniciales de una tabla de proveedor son aquellas filas que QueryRows devuelve antes de que el proveedor que contiene la tabla llame a SetColumns.

  • Controla los tipos de propiedad del criterio de ordenación devuelto por el método IMAPITable::QuerySortOrder antes de que el cliente que contiene la tabla de proveedor llame al método IMAPITable::SortTable .

Vea también

IMsgServiceAdmin::GetMsgServiceTable

IMsgServiceAdmin::MsgServiceTransportOrder

IProviderAdmin::GetProviderTable

IMsgServiceAdmin : IUnknown