[Mew-Win32 00508] Re: Question about dial-up connection

Shun-ichi GOTO gotoh at example.com
1998年 3月 26日 (木) 14:56:55 JST


後藤@太陽計測です

>>>>> From: Hideyuki SHIRAI <Shirai at example.com>
> % ras.exe -d 1 じゃなくて
> % ras.exe -d 0 ですよね。
>              ~
> この <num>=<0>というのは、どうやって決まるのかなぁ?
> <1>というのもあるのかなぁ?
> どうやって何番って調べるのかなぁ?
> ということです。

RasEnumConnections()で得られるリストのインデックス番号のようですよ。
なので、-l (list) での番号と食い違うわけです。

例えばこんな修正で機能すると思うけど、机上テストのみ (._.) すんまへん


--- ras.c.orig	Tue Mar 24 05:06:10 1998
+++ ras.c	Thu Mar 26 05:48:40 1998
@@ -232,17 +232,24 @@
 {
   DWORD dwRet;
   DWORD dwSize,dwNums;
+  char *entname;
+  int i;
+  
+  ReadRasEntries();
+  ReadRasConnections();
 
-  rcon[0].dwSize = sizeof(RASCONN);
-  dwSize = sizeof(rcon);
-  dwRet = RasEnumConnections( rcon, &dwSize, &dwNums );
-
-  if ( dwRet != 0 )
-    return ( FALSE );
-
-  RasHangUp( rcon[dwSelectEntryNum].hrasconn );
-
-  return ( TRUE );
+  entname = ren[dwSelectEntryNum].szEntryName;
+  for ( i=0; i<dwConnectionNum; i++ ) {
+    if ( strcmp( entname, rcon[i].szEntryName ) == 0 ) {
+      RasHangUp( rcon[i].hrasconn );
+      printf("Disconnected: #%d=%s\n", dwSelectEntryNum, entname);
+      return TRUE;
+    }
+  }
+  /* entry is not connected */
+  fprintf(stderr, "ERROR: entry #%d=%s is not connected\n",
+	  dwSelectEntryNum, entname);
+  return ( TRUE );		/* to be FALSE? */
 }


#この辺のネタももう少し手をつけたいのだけど、
#最近、ちと忙しいのでなかなか。。。

そうそう、名前の募集は RAS Control の意味で RasCon.exeとか RasCtrl.exe
とか。RAS以外にも手を出すのなら、RASという文字列から離れたいですけどね。

--- Regards,
 Shun-ichi Goto  <gotoh at example.com>
   R&D Group, TAIYO Corp., Tokyo, JAPAN





Mew-win32 メーリングリストの案内