RasEnumConnectionsA 関数 (ras.h)
RasEnumConnections 関数は、アクティブなすべての RAS 接続を一覧表示します。 各接続のハンドルと電話帳のエントリ名が返されます。
構文
DWORD RasEnumConnectionsA(
[in, out] LPRASCONNA unnamedParam1,
[in, out] LPDWORD unnamedParam2,
[out] LPDWORD unnamedParam3
);
パラメーター
[in, out] unnamedParam1
出力時に、RASCONN 構造体
入力時に、アプリケーションは、渡される構造体のバージョンを識別するために、バッファー内の最初の RASCONN 構造体の dwSize メンバーを sizeof(RASCONN) に設定する必要があります。
[in, out] unnamedParam2
入力時に、lprasconnで指定されたバッファーのサイズ (バイト単位)
出力時に、この関数は RAS 接続を列挙するために必要なバイト数にこの変数を設定します。
必要なバッファー サイズを決定するには、
[out] unnamedParam3
lprasconnで指定されたバッファーに書き込まれた
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS。
関数が失敗した場合、戻り値は Routing と Remote Access Error Codes または Winerror.h から取得されます。
リターン コード | 形容 |
---|---|
|
lprasconn バッファーのサイズが十分ではありません。 lpcb パラメーターは、関数を呼び出す前に設定する必要がある、lprasconn パラメーターの dwSize メンバーより小さいです。 この関数は、lpcbが指す変数で必要なバッファー サイズを返します。 |
備考
電話帳のエントリ名を指定せずに接続が確立された場合、その接続に対して返される情報には、接続の電話番号の前に "." が付きます。
次のコード サンプル コードでは、RasEnumConnections を使用して、アクティブな RAS 接続を列挙します。
#include <windows.h>
#include <stdio.h>
#include "ras.h"
#include "raserror.h"
#pragma comment(lib, "rasapi32.lib")
DWORD __cdecl wmain(){
DWORD dwCb = 0;
DWORD dwRet = ERROR_SUCCESS;
DWORD dwConnections = 0;
LPRASCONN lpRasConn = NULL;
// Call RasEnumConnections with lpRasConn = NULL. dwCb is returned with the required buffer size and
// a return code of ERROR_BUFFER_TOO_SMALL
dwRet = RasEnumConnections(lpRasConn, &dwCb, &dwConnections);
if (dwRet == ERROR_BUFFER_TOO_SMALL){
// Allocate the memory needed for the array of RAS structure(s).
lpRasConn = (LPRASCONN) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwCb);
if (lpRasConn == NULL){
wprintf(L"HeapAlloc failed!\n");
return 0;
}
// The first RASCONN structure in the array must contain the RASCONN structure size
lpRasConn[0].dwSize = sizeof(RASCONN);
// Call RasEnumConnections to enumerate active connections
dwRet = RasEnumConnections(lpRasConn, &dwCb, &dwConnections);
// If successful, print the names of the active connections.
if (ERROR_SUCCESS == dwRet){
wprintf(L"The following RAS connections are currently active:\n");
for (DWORD i = 0; i < dwConnections; i++){
wprintf(L"%s\n", lpRasConn[i].szEntryName);
}
}
//Deallocate memory for the connection buffer
HeapFree(GetProcessHeap(), 0, lpRasConn);
lpRasConn = NULL;
return 0;
}
// There was either a problem with RAS or there are no connections to enumerate
if(dwConnections >= 1){
wprintf(L"The operation failed to acquire the buffer size.\n");
}else{
wprintf(L"There are no active RAS connections.\n");
}
return 0;
}
RasEnumConnections
Windows Me/98/95: RasEnumConnections は、ダイヤルを開始するとすぐに、アクティブ として接続を列挙します。
アクティブな接続を列挙して確認する最も信頼性の高い方法は、RasEnumConnections
手記
ras.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RasEnumConnections を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ras.h |
ライブラリ | Rasapi32.lib |
DLL | Rasapi32.dll |
関連項目
RASCONN を
リモート アクセス サービス関数 の