RASDIAL API не подключается в 64-битных системах [Работает потрясающе в 32-битных системах / VPN] - PullRequest
1 голос
/ 15 мая 2011

Я в основном пытаюсь подключиться к VPN-соединению с помощью Windows API.Он работает как шарм на любых 32-битных системах Windows.Это всегда соединяет.Но когда я пытаюсь подключить его в 64-битной системе.Это всегда терпит неудачу.Не могли бы вы подсказать, если я что-то не так делаю.

Это мой код:

    LPRASDIALPARAMS      rdParams; 
    DWORD               cb = sizeof(RASDIALPARAMS);
    rdParams = (LPRASDIALPARAMS)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cb); 
    rdParams->dwSize = sizeof(RASDIALPARAMS);
    dwError |= StringCbCopyW( rdParams->szEntryName,
        sizeof(rdParams->szEntryName), yourProfile.c_str() );
    dwError |= StringCbCopyW( rdParams->szPhoneNumber,
        sizeof(rdParams->szPhoneNumber), yourUrl.c_str() );
    dwError |= StringCbCopyW( rdParams->szUserName,
        sizeof(rdParams->szUserName), yourUser.c_str());
    dwError |= StringCbCopyW( rdParams->szPassword,
        sizeof(rdParams->szPassword), yourPassword.c_str() );
    dwError |= StringCbCopyW( rdParams->szDomain,
        sizeof(rdParams->szDomain), yourGroupName.c_str());
    dwError |= StringCbCopyW( rdParams->szDomain,
        sizeof(rdParams->szDomain), L"\0");

    HRASCONN hRasConn = NULL;
    DWORD dwRet = RasDial( NULL, pbkPath.c_str(),
        rdParams, 0, 0L, &hRasConn );

Есть ли что-то, что мне нужно установить специально для 64-битных систем.

1 Ответ

1 голос
/ 17 мая 2011

В основном вам нужно было бы получить доступ к dll или lib из 64-битного приложения вместо 32-битного.убедитесь, что ваше приложение является 64-битным.

...