Platform SDK: TAPI |
The TAPI LINE_PROXYREQUEST message delivers a request to a registered proxy function handler.
LINE_PROXYREQUEST hDevice = (DWORD) hLine; dwCallbackInstance = (DWORD) dwInstanceData; dwParam1 = (DWORD) lpProxyRequest; dwParam2 = (DWORD) 0; dwParam3 = (DWORD) 0;
No return value.
The LINE_PROXYREQUEST message is sent only to the first application that registered to handle proxy requests of the type being delivered.
The application should process the request contained in the proxy buffer and call lineProxyResponse to return data or deliver results. Processing of the request should be done within the context of the application's TAPI callback function only if it can be performed immediately, without waiting for response from any other entity. If the application needs to communicate with other entities (for example, a service provider to handle PBX-based ACD, or any other system service which might result in blocking), then the request should be queued within the application and the callback function exited to avoid delaying the receipt of further TAPI messages by the application.
At the time the LINE_PROXYREQUEST is delivered to the proxy handler, TAPI has already returned a positive dwRequestID function result to the original application and unblocked the calling thread to continue execution. The application is awaiting a LINE_REPLY message, which is automatically generated when the proxy handler application calls lineProxyResponse.
The application shall not free the memory pointed to by lpProxyRequest. TAPI frees the memory during the execution of lineProxyResponse. The application can call lineProxyResponse exactly once for each LINE_PROXYREQUEST message.
If the application receives a LINE_CLOSE message while it has pending proxy requests, it should call lineProxyResponse for each pending request, passing in an appropriate dwResult value (such as LINEERR_OPERATIONFAILED).
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later.
Version: Requires TAPI 2.0 or later.
Header: Declared in Tapi.h.