функция обратного вызова ASYNC_COMPLETION (tspi.h)
Completion_Proc — это функция обратного вызова, реализованная TAPI и предоставляемая поставщику услуг в качестве параметра для TSPI_providerInit. Поставщик услуг вызывает эту функцию, чтобы сообщить о завершении асинхронной процедуры линии или телефона.
Тип ASYNC_COMPLETION определяет указатель на эту функцию обратного вызова. Completion_Proc — это заполнитель для имени функции, определяемой приложением.
Синтаксис
ASYNC_COMPLETION AsyncCompletion;
void AsyncCompletion(
DRV_REQUESTID dwRequestID,
LONG lResult
)
{...}
Параметры
dwRequestID
Идентификатор, переданный в исходном запросе, который поставщик услуг выполнял асинхронно.
lResult
Результат операции. Это может быть ноль для указания успешности или отрицательное число для обозначения ошибки. Возможные конкретные значения ошибок, которые могут возникнуть в результате выполнения функции, одинаковы для асинхронного или синхронного выполнения.
Возвращаемое значение
None
Remarks
Состояние вызова при вызове этой функции может быть любым.
Эта процедура предоставляется TAPI при инициализации поставщика услуг с помощью функции TSPI_providerInit . Некоторые из процедур TSPI, которые работают на телефонных, телефонных и телефонных устройствах, определяют асинхронную операцию. Эти процедуры включают параметр dwRequestID для идентификации запроса. При вызове такой процедуры поставщик услуг может вернуть отрицательное число для ошибки, если она обнаружена немедленно, или положительное значение dwRequestID , если операция продолжается асинхронно. Поставщик услуг должен сообщать о завершении ровно один раз для каждого запроса, который он выполняет асинхронно. Это делается путем вызова этой процедуры. Поставщик услуг не может повторно вызывать эту процедуру, Line_Event или Phone_Event процедуру до тех пор, пока эта процедура не вернется.
Поставщик услуг может вызывать функцию Completion_Proc перед возвратом из первого запроса. TAPI гарантирует, что поставщик услуг не будет вызываться из контекста Completion_Proc , за исключением случаев, когда это указано.
Это не имеет прямого соответствия на уровне TAPI, так как на этом уровне асинхронные завершения функций передаются как сообщение, передаваемое через тот же интерфейс обратного вызова, который используется для сообщений о спонтанных событиях. На уровне TSPI спонтанные события передаются с помощью Line_Event и Phone_Event процедур обратного вызова.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | tspi.h |