Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Win32 RasEnumConnections uvek vraca 0x278 (632)

[es] :: C/C++ programiranje :: Win32 RasEnumConnections uvek vraca 0x278 (632)

[ Pregleda: 2420 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Predrag Glumac
Luxembourg

Član broj: 167588
Poruke: 127
*.eunet.rs.



Profil

icon Win32 RasEnumConnections uvek vraca 0x278 (632)21.10.2008. u 20:25 - pre 188 meseci
Pozdrav svima.

Imam problem sa funkcijom RasEnumConnections - cak i kada pokusam da proverim neophodnu velicinu RASCONN strukture vraca mi gresku 0x278 (ERROR_INVALID_SIZE) !?

Code:

DWORD nErr, nSize = 0, nCount = 0;
nErr = RasEnumConnections(NULL, &nSize, &nCount);


Radim u Visual Studio 2008, OS je Windows XP SP2 (probao sam na dve masine i isti rezultat, jedna test masina nema VS ali ima otvorenu konekciju ka internetu preko ISDN modema) i vraca mi istu gresku. Gledao sam po internetu, svugde gde se spominje ta greska je u kontekstu W2K. Probao sam Unicode i Ansi, i ista je greska. Mozda nesto znaci, ali RasEnumDevices radi bez greske.

Da li neko zna u cemu moze biti problem ? Hvala.
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 09:13 - pre 188 meseci
Prosleđuješ pogrešne argumente, prvi ne sme biti NULL. Pogledaj primer u MSDNu.
 
Odgovor na temu

Predrag Glumac
Luxembourg

Član broj: 167588
Poruke: 127
*.eunet.yu.



Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 10:01 - pre 188 meseci
Tja, po on-line MSDN-u (http://msdn.microsoft.com/en-us/library/aa377284(VS.85).aspx) se tako radi provera neophodna velicina bafera, i tako stoji u primeru.

Citat:
To determine the required buffer size, call RasEnumConnections with lprasconn set to NULL. The variable pointed to by lpcb should be set to zero. The function will return the required buffer size in lpcb and an error code of ERROR_BUFFER_TOO_SMALL


Ali cak kada napravim niz RASCONN struktura sa 100 elemenata, i postavim dwSize clan prvog elementa na velicinu RASCONN strukture, dobijam istu gresku.
 
Odgovor na temu

nikomak
Nikola Makić
Beograd

Član broj: 177053
Poruke: 65
*.eunet.rs.



+1 Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 11:47 - pre 188 meseci
Ovako nekako, vs2008, vista, radi bez problema.

Code:

#include <windows.h>
#include <stdio.h>
#include "ras.h"
#include "raserror.h"

int main(int argc, char **argv)
{
    DWORD i;
    LPRASCONN lpRas = NULL;
    DWORD nBufSize = 0;
    DWORD nNumCon = 0;
    DWORD nRet = 0;

    nRet = RasEnumConnections(lpRas, &nBufSize, &nNumCon);

    if (nRet == ERROR_BUFFER_TOO_SMALL) {
        lpRas = (LPRASCONN) malloc(nBufSize);
        if (lpRas == NULL) {
           ExitProcess(GetLastError());
        }
        lpRas[0].dwSize = sizeof(RASCONN);
        nRet = RasEnumConnections(lpRas, &nBufSize, &nNumCon);
        if (nRet == ERROR_SUCCESS) {
            for (i = 0; i < nNumCon; i++) {
            wprintf(L"Active connection: %s\n", lpRas[i].szEntryName);
            }
        } else {
            wprintf(L"err: %d\n", GetLastError());
        }
        free(lpRas);
    }
    return 0;
}

TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
 
Odgovor na temu

Predrag Glumac
Luxembourg

Član broj: 167588
Poruke: 127
*.eunet.yu.



Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 12:09 - pre 188 meseci
Nope, vraca 0x278 Prosto neverovatno, probao sam na par XP masina i isto ......
 
Odgovor na temu

nikomak
Nikola Makić
Beograd

Član broj: 177053
Poruke: 65
*.rcub.bg.ac.yu.



+1 Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 13:56 - pre 188 meseci
Hmm, ovaj error koji vraca (632) ustvari oznacava da struct dwsize nije dobar i da se koristi nepoznata verzija structa, koliko sam shvatio.
Probaj da iznad #include "ras.h" dodas

Code:

#define  WINVER 0x501


da bi oznacio da se koristi verzija structa za xp, mislim da je u tome problem.
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
 
Odgovor na temu

Predrag Glumac
Luxembourg

Član broj: 167588
Poruke: 127
*.eunet.rs.



Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)22.10.2008. u 20:47 - pre 188 meseci
Hvala na ideji. Pretpostavljao sam da je to problem, ali cak i kada promenim verziju sa 0x600 na 0x501 (pa i na manje verzije koje su navedene u #if uslovima RASCON strukture) nikako ne mogu da dobijem neophodnu velicinu bafera - opet ista greska ERROR_INVALID_SIZE.
Medjutim, ako stavim da je verzija 0x501 (RASCON struktura bez clana guidCorrelationId) i ako ne pokusam da dinamicki alociram RASCONN bafer, vec postavim na neku fiksnu duzinu, onda makar dobijem aktivne konekcije ! Nije idealo resenje, ali u nedostaku boljeg ce posluziti.

Hvala jos jednom
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Win32 RasEnumConnections uvek vraca 0x278 (632)23.10.2008. u 09:20 - pre 188 meseci
> Tja, po on-line MSDN-u (http://msdn.microsoft.com/en-us/library/aa377284(VS.85).aspx) se tako radi
> provera neophodna velicina bafera, i tako stoji u primeru.

To je promenjeno u odnosu na verziju koju ja imam, tu se nigde ne spominje NULL. Možda je to dograđeno za Vistu. Elem, ovo je kod koji ja koristim oko 8 godina i to bez problema:

Code:

var
  dwRet: DWORD;
  nCB: DWORD;
  Buf: array [0..255] of Char;
  aRasConn: array [0..10] of TRASCONN;
  nRasConnCount   : DWORD;
begin
  aRasConn[0].dwSize := SizeOf(aRasConn[0]);
  nCB   := SizeOf(aRasConn);
  dwRet := RasEnumConnectionsA(@aRasConn, @nCB, @nRasConnCount);
  if dwRet <> 0 then
  begin
    RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf));
    Status([coLog], Buf);
  end;



 
Odgovor na temu

[es] :: C/C++ programiranje :: Win32 RasEnumConnections uvek vraca 0x278 (632)

[ Pregleda: 2420 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.