C++/VB - dwRequestID parameter
Asked By Mohit
18-Nov-09 01:11 AM
Hello Friends,
Can any one tell me that the value of dwRequestID is provided by the TAPI,
TSPISRV or TSP?
I am confused because, when I checked the lineMakeCall(), it looks for the
RequestID in the reply of the function. But when the TAPISRV passes it to the
TSP, it adds a parameter named as dwRequestID into the TSPI_lineMakeCall()
and expects the dwRequestID from the TSP in reply of the message as a
successful execution.
So, does the TAPISRV provides dwRequestID value for the call or it asks TSP
to provide it?
Thnaks,
Mohit
TAPIaroundTheWorld
(1)
DwRequestID
(1)
RequestID
(1)
ExMVP
(1)
LineMakeCall
(1)
Callback
(1)
Windows
(1)
Thnaks
(1)
Andreas Marschall [exMVP TAPI] replied to Mohit
Mohit,
dwRequestID is generated by TAPISRV and passed to TSP and TAPI app.
Clearly, TAPISRV generates it and TSP has to return this from the TSPI_
function and in the ASYNC_COMPLETION.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.
Mohit replied to Andreas Marschall [exMVP TAPI]
Andreas,
Thnaks for your kind reply.
I had found it in the Completion_Proc Callback function while studying it
from MSDN library.
Mohit
Andreas Marschall [exMVP TAPI] replied to Mohit
Mohit, you are welcome.
Here is some more info from my TAPI and TSPI FAQ:
Q: Is there isomething special with asynchronous functions in TAPI2 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Is_there_6
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.

in our TSP is wrong. For error cases our TSP does something like this - (*g_CompletionProcedure)(dwRequestID, LINEERR_INVALFEATURE); return LINEERR_INVALFEATURE; From my reading of the MSDN documentation this is wrong - it should the async completion procedure? For the success case (which happens synchronously) the code does - return dwRequestID whereas I think it should be doing - (*g_CompletionProcedure)(dwRequestID, 0); return dwRequestID; In summary, I think we're calling the completion procedure when we shouldn't and Comments appreciated! Brendan Win32 TAPI Discussions WinCE (1) Windows Server 2003 (1) Windows Server (1) TAPIaroundTheWorld (1) DwRequestID (1) ReuqestID (1) RequestID (1) RequesdID (1) Brendan, exactly. If a TSP can not complete an asynchronous TAPI function or* has to send an ASYNC_COMPLETION with the LINEERR_ code and the previously synchronously returned RequestID, but never both ways. So what you are currently doing is wrong. Excatly, in case
much time for the start. This is why? thank you in advance. LONG TSPI_lineDevSpecific( DRV_REQUESTID dwRequestID, HDRVLINE hdLine, DWORD dwAddressID, HDRVCALL hdCall, LPVOID lpParams, DWORD dwSize ) { std::string tapi_msg = 3D (char 85 } } else if (!stdResults[0].compare("operator")) { = 85 } return 0; } Win32 TAPI Discussions ITAddressDeviceSpecificEvent (1) TAPIaroundTheWorld (1) PITADSEvent (1) IaroundTheWorld (1) SplitTapiMsg (1) DwRequestID (1) DwAddressID (1) LineDevSpecific (1) Are you developing a TSP or a TAPI 3 app de / Andreas_Marschall's_Toto_Tools.htm TAPI development around the world (Frappr! map): http: / / www.frappr.com / TAPIaroundTheWorld * Please post all messages and replies to the newsgroup so all may * benefit from the wrong for asynchronous TAPI / TSPI functions! Your TSP is required to return either the DRV_REQUESTID dwRequestID provided as functional argument by TAPISRV or a LINEERR_ code. In addition to returning dwRequestID your TSP is required to send a LINE_REPLY indication the asynchronous result of the operation de / Andreas_Marschall's_Toto_Tools.htm TAPI development around the world (Frappr! map): http: / / www.frappr.com / TAPIaroundTheWorld * Please post all messages and replies to the newsgroup so all may * benefit from the s_Toto_Tools.htm IaroundTheWorld hts. Hi, I added this bloc in my function TSPI_lineDevSpecific : = 2E. . CompletionProc(dwRequestID, 0); LINEEVENT fnCallback = 3D pTapiLine-> m_fnEventProc; DWORD dwParam1 = 3D 123; / / Just for test DWORD dwParam2