PDA

Click to See Complete Forum and Search --> : Question about the 'INTERNET_STATUS_CALLBACK'


Jan 30th, 2000, 10:17 PM
I'm useing the InternetSetStatusCallback
Declare Function InternetSetStatusCallback Lib "wininet.dll" (ByVal byvalHINTERNET As Long, ByVal INTERNET_STATUS_CALLBACK As Any) As Long
To get a statechanged like even from the wininet.dll

I am able to resolve the 'lpvStatusInformation' so that i can get the basic statechanged like events, but im wondering if i can get more information out of it.

(I also use it because without it the FtpGetFile hangs until it's finished and thats darn ugly :).

Here's is my callback sub

Sub INTERNET_STATUS_CALLBACK(ByVal HINTERNET As Long, ByVal dwContext As Long, ByVal dwInternetStatus As Long, ByVal lpvStatusInformation As Long, ByVal dwStatusInformationLength As Long)
Dim sTemp As String
DoEvents
Select Case dwInternetStatus
Case INTERNET_STATUS_RESOLVING_NAME
sTemp = "INTERNET_STATUS_RESOLVING_NAME"
Case INTERNET_STATUS_NAME_RESOLVED
sTemp = "INTERNET_STATUS_NAME_RESOLVED"
Case INTERNET_STATUS_CONNECTING_TO_SERVER
sTemp = "INTERNET_STATUS_CONNECTING_TO_SERVER"
Case INTERNET_STATUS_CONNECTED_TO_SERVER
sTemp = "INTERNET_STATUS_CONNECTED_TO_SERVER"
Case INTERNET_STATUS_SENDING_REQUEST
sTemp = "INTERNET_STATUS_SENDING_REQUEST"
Case INTERNET_STATUS_REQUEST_SENT
sTemp = "INTERNET_STATUS_REQUEST_SENT"
Case INTERNET_STATUS_RECEIVING_RESPONSE
sTemp = "INTERNET_STATUS_RECEIVING_RESPONSE"
Case INTERNET_STATUS_RESPONSE_RECEIVED
sTemp = "INTERNET_STATUS_RESPONSE_RECEIVED"
Case INTERNET_STATUS_CTL_RESPONSE_RECEIVED
sTemp = "INTERNET_STATUS_CTL_RESPONSE_RECEIVED"
Case INTERNET_STATUS_PREFETCH
sTemp = "INTERNET_STATUS_PREFETCH"
Case INTERNET_STATUS_CLOSING_CONNECTION
sTemp = "INTERNET_STATUS_CLOSING_CONNECTION"
Case INTERNET_STATUS_CONNECTION_CLOSED
sTemp = "INTERNET_STATUS_CONNECTION_CLOSED"
Case INTERNET_STATUS_HANDLE_CREATED
sTemp = "INTERNET_STATUS_HANDLE_CREATED"
Case INTERNET_STATUS_HANDLE_CLOSING
sTemp = "INTERNET_STATUS_HANDLE_CLOSING"
Case INTERNET_STATUS_REQUEST_COMPLETE
sTemp = "INTERNET_STATUS_REQUEST_COMPLETE"
Case INTERNET_STATUS_REDIRECT
sTemp = "INTERNET_STATUS_REDIRECT"
Case INTERNET_STATUS_INTERMEDIATE_RESPONSE
sTemp = "INTERNET_STATUS_INTERMEDIATE_RESPONSE"
Case INTERNET_STATUS_STATE_CHANGE
sTemp = "INTERNET_STATUS_STATE_CHANGE"
End Select

Debug.Print sTemp, HINTERNET, dwContext, dwInternetStatus, lpvStatusInformation, dwStatusInformationLength
End Sub


PS. I think it's right but i ain't sure, i converted the info from the wininet.h




------------------

Vincent van den Braken
EMail: azzmodan@azzmodan.demon.nl
ICQ: 15440110 (http://www.icq.com/15440110)
Homepage: http://www.azzmodan.demon.nl

Oleg Gdalevich
Feb 6th, 2000, 08:31 PM
To see example of the use of wininet callback function you can download FTP client sample app from www.vbip.com. (http://www.vbip.com.) But note that you can use wininet callback function only with VB5.

------------------
Oleg Gdalevich, MCSD

Visual Basic Internet Programming website (http://www.vbip.com)

Feb 6th, 2000, 10:05 PM
Excactly what i meant, thanks a lot.

(Now I only had to reinvent half of the wheel :))

Converting it from the winint.h was fun, but copy/past is easy'r to do.

------------------

Vincent van den Braken
EMail: azzmodan@azzmodan.demon.nl
ICQ: 15440110 (http://www.icq.com/15440110)
Homepage: http://www.azzmodan.demon.nl





[This message has been edited by Azzmodan (edited 02-07-2000).]