lineGetRequest 函数检索指定请求模式的下一个按代理请求。
语法
LONG lineGetRequestA(
HLINEAPP hLineApp,
DWORD dwRequestMode,
LPVOID lpRequestBuffer
);
参数
hLineApp
TAPI 行部分的应用程序使用句柄。
dwRequestMode
要获取的请求类型。 请注意,dwRequestMode 只能设置一个位。 此参数只使用一个常量
lpRequestBuffer
指向要放置请求参数的内存缓冲区的指针。 缓冲区的大小和缓冲区中放置的数据的解释取决于请求模式。 假定应用程序分配的缓冲区大小足够,用于保存请求。
如果 dwRequestMode LINEREQUESTMODE_MAKECALL,请使用 LINEREQMAKECALL 结构解释请求缓冲区的内容。
LINEREQUESTMODE_MEDIACALL已过时。 有关详细信息,请参阅 tapiRequestMediaCall。
返回值
如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:
LINEERR_INVALAPPHANDLE、LINEERR_NOTREGISTERED、LINEERR_INVALPOINTER、LINEERR_OPERATIONFAILED、LINEERR_INVALREQUESTMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_UNINITIALIZED、LINEERR_NOREQUEST。
言论
启用电话的应用程序可以通过调用 tapiRequestMakeCall来请求代表呼叫。 这些请求由 TAPI 排入队列,注册处理请求的最高优先级应用程序会发送一条 LINE_REQUEST 消息,并指示请求的模式处于挂起状态。 通常,此应用程序是用户的呼叫控制应用程序。 LINE_REQUEST消息指示注册的应用程序可能正在等待处理零个或多个请求;接收LINE_REQUEST后,接收方应用程序负责调用 lineGetRequest,直到返回LINEERR_NOREQUEST,表明没有更多请求挂起。
接下来,接收此消息的调用控制应用程序调用 lineGetRequest,指定请求模式和足够大的缓冲区来保存请求。 然后,调用控制应用程序解释和执行请求。
执行 lineGetRequest后,TAPI 会从其内部队列中清除请求,使后续请求腾出空间。 因此,执行 lineGetRequest后,可以立即收到新的 LINE_REQUEST 消息,如果相同或另一个应用程序发出另一个请求。 请求接收方应用程序负责通过某种机制处理此方案;例如,通过注意到其他LINE_REQUEST,并延迟后续的 lineGetRequest,直到处理上述请求完成,根据需要获取后续请求和缓冲区,或者通过其他适当的方式。
不应忽略后续LINE_REQUEST,因为 TAPI 不会重复该LINE_REQUEST。
注意
tapi.h 标头将 lineGetRequest 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | tapi.h |
库 | Tapi32.lib |
DLL | Tapi32.dll |