ValidateParms
Hace referencia a: Outlook 2013 | Outlook 2016
Llama a una función interna para comprobar los parámetros que las aplicaciones cliente han pasado a los proveedores de servicios.
Propiedad | Valor |
---|---|
Archivo de encabezado: |
Mapival.h |
Implementado por: |
MAPI |
Llamado por: |
Proveedores de servicios |
HRESULT ValidateParms(
METHODS eMethod,
LPVOID First
);
Parameters
eMethod
[in] Especifica, por enumeración, el método que se va a validar.
Primero
[in] Puntero al primer argumento de la pila.
Valor devuelto
S_OK
Todos los parámetros son válidos.
MAPI_E_CALL_FAILED
Uno o varios de los parámetros no son válidos.
Comentarios
Se supone que los parámetros pasados entre MAPI y los proveedores de servicios son correctos y solo se someten a la validación de depuración con la macro CheckParms . Los proveedores deben comprobar todos los parámetros pasados por las aplicaciones cliente, pero los clientes deben suponer que los parámetros MAPI y de proveedor son correctos. Use la macro HR_FAILED para probar los valores devueltos.
ValidateParms se llama de forma diferente en función de si el código que realiza la llamada es C o C++. C++ pasa un parámetro implícito conocido como esto a cada llamada de método, que se vuelve explícito en C y es la dirección del objeto. El primer parámetro, eMethod, es un enumerador creado a partir de la interfaz y el método que se validan y indica qué parámetros se van a buscar en la pila. El segundo parámetro es diferente para C y C++. En C++ se llama First y es el primer parámetro del método que se está validando. El segundo parámetro del lenguaje C, ppThis, es la dirección del primer parámetro al método que siempre es un puntero de objeto. En ambos casos, el segundo parámetro proporciona la dirección del principio de la lista de parámetros del método y, en función de eMethod, baja la pila y valida los parámetros.
Los proveedores que implementan interfaces comunes como IMAPITable e IMAPIProp siempre deben comprobar los parámetros mediante la función ValidateParms para asegurarse de la coherencia entre todos los proveedores. Se han definido funciones de validación de parámetros adicionales para algunos tipos de parámetros complejos que se usarán en su lugar según corresponda. Consulte los temas de referencia para obtener las siguientes funciones:
- FBadColumnSet
- FBadEntryList
- FBadProp
- FBadProp
- FBadRestriction
- FBadRestriction
- FBadRglpszW
- FBadRow
- FBadRowSet
- FBadSortOrderSet
Los métodos heredados usan la misma validación de parámetros que la interfaz de la que heredan. Por ejemplo, la comprobación de parámetros para IMessage e IMAPIProp debe ser la misma.