bool dial_open_conn(const char *name) { BOOL pwd; DWORD ret, i = 0; HRASCONN conn = NULL; RASDIALPARAMSW params; if (dial_find_conn(name)) return TRUE; memset(¶ms, 0, sizeof(params)); params.dwSize = sizeof(params); while (i < (sizeof(params.szEntryName) - 1)) { if (!(params.szEntryName[i] = name[i])) break; ++i; } ret = RasGetEntryDialParamsW(NULL, ¶ms, &pwd); if (ERROR_SUCCESS != ret) return FALSE; ret = RasDialW(NULL, NULL, ¶ms, 0, NULL, &conn); if (ERROR_SUCCESS != ret) return FALSE; return TRUE; }
WIN_DIAL_EXTERN BOOL WinDialOpenConnection(LPCWSTR name) { RASDIALPARAMSW params; BOOL pwd; DWORD ret, i = 0; HRASCONN conn = NULL; if(WinDialFindConnection(name)) return TRUE; memset(¶ms, 0, sizeof(params)); params.dwSize = sizeof(params); while(i < (sizeof(params.szEntryName) - 1)) { if(!(params.szEntryName[i] = name[i])) break; ++i; } ret = RasGetEntryDialParamsW(NULL, ¶ms, &pwd); if(ERROR_SUCCESS != ret) return FALSE; ret = RasDialW(NULL, NULL, ¶ms, 0, NULL, &conn); if(ERROR_SUCCESS != ret) return FALSE; return TRUE; }