Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Conformidade
Versão Introduzida: ODBC 3.8
Conformidade com as Normas: Nenhuma
Resumo
SQLAsyncNotificationCallback permite que um driver retorne para o Gestor de Drivers quando há algum progresso na operação assíncrona atual após o driver retornar SQL_STILL_EXECUTING.
SQLAsyncNotificationCallback só pode ser chamado pelo driver.
Os drivers não chamam SQLAsyncNotificationCallback com o nome da função SQLAsyncNotificationCallback. Em vez disso, o Driver Manager passa um ponteiro de função para um driver como valor para o atributo SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK ou SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK do handle de ligação ou da instrução correspondente, respetivamente. Diferentes manípulos podem ser atribuídos diferentes valores de ponteiro de função. O tipo do ponteiro de função é definido como SQL_ASYNC_NOTIFICATION_CALLBACK.
SQLAsyncNotificationCallback é thread-safe. Um driver pode optar por usar múltiplos threads a chamar simultaneamente SQLAsyncNotificationCallback em diferentes handles.
Sintaxe
typedef SQLRETURN (SQL_API *SQL_ASYNC_NOTIFICATION_CALLBACK)(
SQLPOINTER pContex,
BOOL fLast);
Arguments
pContex
Apontador para uma estrutura de dados definida pelo Driver Manager. O valor é passado para o driver através de SQLSetConnectAttr(SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT) ou SQLSetStmtAttr(SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT). O condutor não tem acesso ao valor.
fLast
Usado por um driver para indicar que esta invocação da função de callback é a última para a operação assíncrona atual. O driver devolverá um código de retorno diferente de SQL_STILL_EXECUTING quando o Gestor de Controladores voltar a chamar a função. O Gestor de Drivers pode usar esta informação, por exemplo, para informar a aplicação antecipadamente de que a operação assíncrona será concluída.
Se Handle não for um handle válido do tipo especificado por HandleType, SQLCancelHandle devolve SQL_INVALID_HANDLE.
Devoluções
SQL_SUCCESS ou SQL_ERROR.
Diagnóstico
SQLAsyncNotificationCallback pode devolver SQL_ERROR para as duas situações seguintes (estas indicam um problema de implementação no driver ou no Gestor de Drivers.
| Erro | Description |
|---|---|
| A ligação ou declaração não pediu notificação. | |
| Handle inválido | O driver forneceu um identificador inválido, que falhou nos testes internos de validação do Driver Manager. |