Newsgroup: it.comp.lang.visual-basic
Titolo: mex per MORENO.

Scusa la domanda rivolta direttamente a te, ma ho trovato tutta la
documentazione e gli esempi riguardanti RAS da cui prendere spunto sul tuo
sito e quindi, chi meglio di te potrebbe aiutarmi.
La mia domanda e' complicatissima  :  Perche' il codice seguente non
funziona?????
Su NT 4 si blocca perche' RasEnumDevices(vbNullString, lngLen, lngCount)
restituisce sempre ERROR_BUFFER_TOO_SMALL (il modem installato e' ISDN)
Su 98 arriva fino alla fine ma RasSetEntryProperties(vbNull,
lNomeConnessione & Chr(0),  RASStruct, ByVal lngEntrySize, ByVal 0&, ByVal
0&) restituisce sempre 87, e non cre nessuna icona in accesso remoto.
Gia che ci sono.... UID , password e Salva password li posso impostare
durante la creazione come gli altri parametri?
Ho provato anche a valorizzare tutte le strutture come fai negli esempi, ma
nulla.
Grazie in anticipo....
CreateConnectionAuto "ExpoNet Connection", "0113330400", 39, "011"
Public Sub CreateConnectionAuto(lNomeConnessione As String,
lNumeroDiTelefono As String, Country As Long, AreaCode As String)
Dim RASStruct As RASENTRY
Dim lngRet As Long
Dim lngEntrySize As Long    'che indicherà la grandezza della struttura
Dim lngDeviceSize As Long
Dim VarDevices As Variant
lngEntrySize = 0
lngDeviceSize = 0
lngRet = RasGetEntryProperties(vbNullString, "", 0, lngEntrySize, 0,
lngDeviceSize)
If lngRet = ERROR_BUFFER_TOO_SMALL Then
    With RASStruct
        .dwSize = lngEntrySize
    End With
    lngRet = RasGetEntryProperties(vbNullString, "", RASStruct,
lngEntrySize, _
    ByVal 0&, ByVal 0&)
End If
VarDevices = EnumRASDevices
With RASStruct
        Call lstrcpy(.szLocalPhoneNumber(0), lNumeroDiTelefono)
        Call lstrcpy(.szDeviceType(0), VarDevices(0, 0) & Chr(0))
        Call lstrcpy(.szDeviceName(0), VarDevices(0, 1))
End With
.dwfOptions = .dwfOptions Or RASEO_UseCountryAndAreaCodes
.dwCountryID = Country
Call lstrcpy(.szAreaCode(0), AreaCode)
lngRet = RasSetEntryProperties(vbNull, lNomeConnessione & Chr(0), _
    RASStruct, ByVal lngEntrySize, ByVal 0&, ByVal 0&)
End Sub
Public Function EnumRASDevices() As Variant
Dim lngRet As Long          'Valore di ritorno
Dim lngLen As Long          'Grandezza del buffer
Dim lngCount As Long        'Numero di strutture nel buffer
Dim lngLenBlock As Long     'Grandezza di una singola struttura
Dim tbRASDEVINFO() As RASDEVINFO
Dim vDeviceName() As String 'nome dei dispositivi
Dim vDeviceType() As String 'tipi dei dispositivi
Dim vDeviceNameType() As String 'matrice di ritorno
lngRet = RasEnumDevices(vbNullString, lngLen, lngCount)
If lngRet = ERROR_BUFFER_TOO_SMALL Then
    If lngLen > 0 And lngCount > 0 Then
        ReDim tbRASDEVINFO(lngCount - 1)
        lngLenBlock = lngLen
        If lngCount > 1 Then
            lngLenBlock = lngLen \ lngCount
        End If
        tbRASDEVINFO(0).dwSize = lngLenBlock
        ReDim vDeviceName(lngCount - 1) As String 'nome dei dispositivi
        ReDim vDeviceType(lngCount - 1) As String 'tipo di dispositivo
        lngRet = RasEnumDevices(tbRASDEVINFO(0), lngLen, lngCount)
        If lngRet = 0 Then
            For i = 0 To lngCount - 1
                With tbRASDEVINFO(i)
                    vDeviceName(i) = Trim(StrConv(.szDeviceName(), _
                        vbUnicode))
                    vDeviceType(i) = Trim(StrConv(.szDeviceType(), _
                        vbUnicode))
                End With
            Next i
        End If
    End If
End If
ReDim vDeviceNameType(lngCount, 1)
For i = 0 To lngCount - 1
    vDeviceNameType(i, 0) = vDeviceName(i)
    vDeviceNameType(i, 1) = vDeviceType(i)
Next
EnumRASDevices = vDeviceNameType
End Function
 Kjo

Ho postato un errore...
In CreateConnectionAuto , End With va tre righe sotto.
With RASStruct
    Call lstrcpy(.szLocalPhoneNumber(0), lNumeroDiTelefono)
    Call lstrcpy(.szDeviceType(0), VarDevices(0, 0) & Chr(0))
    Call lstrcpy(.szDeviceName(0), VarDevices(0, 1))
    .dwfOptions = .dwfOptions Or RASEO_UseCountryAndAreaCodes
    .dwCountryID = Country
    Call lstrcpy(.szAreaCode(0), AreaCode)
End With

durante la creazione come gli altri parametri?
No: queste sono informazioni che andrebbero direttamente scritte nel registro, ma non so se ci sono
differenze tra Win98, NT4 e 2000 (non vorrei essere pessimista, ma visti i precedenti credo proprio
di sě...)
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

Cosa dire ..........
se non inchinarsi e ringraziare......
Grazie mille
Kjo