Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zgodność
Wersja wprowadzona: ODBC 3.8
Zgodność ze standardami: Brak
Podsumowanie
Funkcja SQLAsyncNotificationCallback umożliwia sterownikowi przekazanie informacji zwrotnej do Menedżera sterowników, gdy zachodzi postęp bieżącej operacji asynchronicznej po zwróceniu przez sterownik SQL_STILL_EXECUTING.
SqlAsyncNotificationCallback może być wywoływany tylko przez sterownik.
Sterowniki nie nazywają sqlAsyncNotificationCallback nazwą funkcji SQLAsyncNotificationCallback. Zamiast tego Menedżer sterowników przekazuje wskaźnik funkcji do sterownika jako wartość atrybutu SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK lub SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK odpowiedniego uchwytu połączenia lub uchwytu instrukcji, odpowiednio. Różne dojścia mogą mieć przypisane różne wartości wskaźnika funkcji. Typ wskaźnika funkcji jest definiowany jako SQL_ASYNC_NOTIFICATION_CALLBACK.
SqlAsyncNotificationCallback jest bezpieczny wątkowo. Sterownik może zdecydować się na użycie wielu wątków, które wywołują funkcję SQLAsyncNotificationCallback na różnych uchwytach jednocześnie.
Składnia
typedef SQLRETURN (SQL_API *SQL_ASYNC_NOTIFICATION_CALLBACK)(
SQLPOINTER pContex,
BOOL fLast);
Arguments
pContex
Wskaźnik do struktury danych zdefiniowanej przez Menedżera sterowników. Wartość jest przekazywana do sterownika za pośrednictwem polecenia SQLSetConnectAttr(SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT) lub SQLSetStmtAttr(SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT). Sterownik nie ma dostępu do wartości.
fLast
Używany przez sterownik, aby wskazać, że wywołanie tej funkcji wywołania zwrotnego jest ostatnim dla bieżącej operacji asynchronicznej. Sterownik zwróci kod powrotny inny niż SQL_STILL_EXECUTING, gdy Menedżer sterowników ponownie wywołuje funkcję. Menedżer sterowników może użyć tych informacji, na przykład, aby poinformować aplikację z wyprzedzeniem, że operacja asynchroniczna zostanie ukończona.
Jeśli uchwyt nie jest prawidłowym uchwytem typu określonego przez HandleType, SQLCancelHandle zwraca SQL_INVALID_HANDLE.
Zwraca
SQL_SUCCESS lub SQL_ERROR.
Diagnostics
Funkcja SQLAsyncNotificationCallback może zwrócić SQL_ERROR w następujących dwóch sytuacjach (wskazują one problem z implementacją sterownika lub menedżera sterowników.
| Error | Description |
|---|---|
| Połączenie lub instrukcja nie zażądały powiadomienia. | |
| Nieprawidłowy uchwyt | Sterownik użył nieprawidłowego uchwytu, co spowodowało niepowodzenie wewnętrznych testów walidacyjnych menedżera sterowników. |