Udostępnij przez


SQLAsyncNotificationCallback, funkcja

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.

Zobacz też

Asynchroniczne wykonywanie (metoda sondowania)