SetAPIErrorHandler
9/8/2008
Essa função registra um manipulador de erro para um programa estático da biblioteca (PSL). O manipulador de erro, PFNAPIERRHANDLER, é chamado quando o chamador tenta chamar uma API dentro do conjunto de API designado por hApiSet Com inválido argumentos.
Syntax
BOOL SetAPIErrorHandler(
HANDLE hApiSet,
PFNAPIERRHANDLER pfnHandler
);
Parameters
- hApiSet
[no] Identificador para um API conjunto retornado a partir de chamar a função de CreateAPISet.
pfnHandler
[no] Protótipo do manipulador de erro, mostrado pela seguinte exemplo de código:typedef DWORD (*PFNAPIERRHANDLER)(DWORD);
O parâmetro para o manipulador de erro PSL é o índice do chamado API, o usuário que falha validação. O valor de retorno de manipulador de erro de PSL é passado voltar para o chamador como se fosse a valor de retorno do chamar API. Se um PSL não registrar qualquer manipulador de erro para seu conjunto API, o kernel gera uma exceção sempre validação de parâmetro para um API pertencentes a esse PSL falhar.
A função especificada por este parâmetro deve ser chamado sempre validação de parâmetro falha para qualquer um do API chamadas no conjunto de API declarado na chamar para CreateAPISet.
Return Value
O valor de erro a serem passados voltar para o chamador.
Remarks
Esta API fornece um mecanismo para servidores PSL para registrar um API como uma comum manipulador de erro parâmetro para o conjunto API. O kernel Faz validação básica de primeiro nível parâmetros em cada chamar API. Se essa validação falha e houver um manipulador de erro registrados para que API, o kernel chama o manipulador de erro PSL com o índice para o API que falha de validação. O servidor PSL pode determinar que valor de retorno enviar para o chamador quando falhar a validação de parâmetro.
Em geral, os manipuladores de erro PSL devem fazer o seguinte:
- Defina o último valor de erro como um apropriado código de erro.
- Return um valor para o kernel para que o kernel pode transmitir este valor voltar para o chamador como o valor de retorno para o original API.
Requirements
Header | pkfuncs.h |
Library | coredll.lib |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
See Also
Reference
Kernel Functions
CreateAPISet
WaitForAPIReady