I have a vb6 service which uses Synchronous WinHttp calls to a remote server. These calls lockup the service during times when there appears to be connection issues (network/Internet etc).
My task is to implement WinHttp Asynchronous calls.
First step, I'm trying to figure out the conversions from C++ to vb6. Bearing in mind I've never written a line of C++ before.
Public Declare Function WINHTTP_STATUS_CALLBACK Lib "winhttp.dll"
(ByVal hSession As Long, dwContext As Long, dwInternetStatus As Integer,
lpvStatusInformation As Long, dwStatusInformationLength As Integer)
I have no idea if that's correct and unfortunately I can't test it until I get a bit further.
Public Declare Function WinHttpSetStatusCallback Lib "winhttp.dll"
(ByVal hInternet As Long, ByVal lpfnInternetCallback As Long,
ByVal dwNotificationFlags As Long, ByVal dwReserved As Long) As Long
I don't really know if my conversions are correct. Can anyone verify this?
Next, I don't know how to implement WinHttpSetStatusCallback - for example I don't know if I have the pointer to the Callback function correct.
I don't have a clear idea on how to define the Async Callback function itself. Here is my initial attempt:
Public Function AsyncCallback(
ByVal hInternet As Long,
dwContext As Long,
dwInternetStatus As Long,
lpvStatusInformation As Long,
dwStatusInformationLength As Long)
//code in here
End Function
Then finally, wiring it all up is going to be interesting. But first I have to make sure I have the foundations right, otherwise I can't expect it to magically "work".
I have used that function but in the asynccallback function parametert because of ipvstatusinformation module is crashing.what should i used instead of long.?
As it is crashing at winhttpreceiveresponse fumction.
Visual Basic Classic
Visual Basic is Microsoft’s event-driven programming language and integrated development environment (IDE) for its Component Object Model (COM) programming model. It is relatively easy to learn and use because of its graphical development features and BASIC heritage. It has been replaced with VB.NET, and is very similar to VBA (Visual Basic for Applications), the programming language for the Microsoft Office product line.