RasDeleteEntryA 関数 (ras.h)
RasDeleteEntry 関数は、電話帳からエントリを削除します。
構文
DWORD RasDeleteEntryA(
[in] LPCSTR unnamedParam1,
[in] LPCSTR unnamedParam2
);
パラメーター
[in] unnamedParam1
電話帳 (PBK) ファイルの完全なパスとファイル名を指定する null で終わる文字列へのポインター。 このパラメーターが NULL の場合、関数は現在の既定の電話帳ファイルを使用します。 既定の電話帳ファイルは、[ダイヤルアップ ネットワーク] ダイアログ ボックスの [ユーザー設定] プロパティ シートでユーザーが選択したファイルです。
Windows Me/98/95: このパラメーターは常に NULL である必要があります。 ダイヤルアップ ネットワークでは、電話帳ファイルではなく、レジストリに電話帳エントリが格納されます。
[in] unnamedParam2
削除する既存のエントリの名前を指定する null で終わる文字列へのポインター。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS。
関数が失敗した場合、戻り値は次のいずれかのエラー コードか、 ルーティングおよびリモート アクセス エラー コード または Winerror.h からの値です。
値 | 意味 |
---|---|
|
ユーザーは正しい特権を持っていません。 このタスクを完了できるのは管理者だけです。 |
|
lpszEntry に指定されたエントリ名が存在しません。 |
注釈
次のサンプル コードでは、変数 lpszEntry で指定された電話帳エントリを削除します。
#include <stdio.h>
#include <windows.h>
#include "ras.h"
#include "strsafe.h"
#define PHONE_NUMBER_LENGTH 7
#define DEVICE_NAME_LENGTH 5
#define DEVICE_TYPE_LENGTH 5
DWORD __cdecl wmain(){
DWORD dwRet = ERROR_SUCCESS;
LPTSTR lpszEntry = L"RASEntryName";
LPTSTR lpszphonenumber = L"5555555";
LPTSTR lpszdevicename = L"Modem";
LPTSTR lpszdevicetype = RASDT_Modem;
// Allocate heap memory for the RASENTRY structure
LPRASENTRY lpentry = (LPRASENTRY)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(RASENTRY));
if (lpentry == NULL){
printf("HeapAlloc failed");
return 0;
}
// The RASENTRY->dwSize member has to be initialized or the RRAS APIs will fail below.
lpentry->dwSize = sizeof(RASENTRY);
lpentry->dwFramingProtocol = RASFP_Ppp;
lpentry->dwfOptions = 0;
lpentry->dwType = RASET_Phone;
dwRet |= StringCchCopyN(lpentry->szLocalPhoneNumber, RAS_MaxPhoneNumber, lpszphonenumber, PHONE_NUMBER_LENGTH);
dwRet |= StringCchCopyN(lpentry->szDeviceName, RAS_MaxDeviceName, lpszdevicename, DEVICE_NAME_LENGTH);
dwRet |= StringCchCopyN(lpentry->szDeviceType, RAS_MaxDeviceType, lpszdevicetype, DEVICE_TYPE_LENGTH);
if (dwRet != ERROR_SUCCESS){
wprintf(L"RASENTRY structure initialization failed");
HeapFree(GetProcessHeap(), 0, lpentry);
return 0;
}
// Validate the new entry's name
dwRet = RasValidateEntryName(NULL, lpszEntry);
if (dwRet != ERROR_SUCCESS){
wprintf(L"RasValidateEntryName failed: Error = %d\n", dwRet);
HeapFree(GetProcessHeap(), 0, lpentry);
return 0;
}
// Create and set the new entry's properties
dwRet = RasSetEntryProperties(NULL, lpszEntry, lpentry, lpentry->dwSize, NULL, 0);
if (dwRet != ERROR_SUCCESS){
wprintf(L"RasSetEntryProperties failed: Error = %d\n", dwRet);
HeapFree(GetProcessHeap(), 0, lpentry);
return 0;
}
// Clean up: delete the new entry
dwRet = RasDeleteEntry(NULL, lpszEntry);
if (dwRet != ERROR_SUCCESS){
wprintf(L"RasDeleteEntry failed: Error = %d\n", dwRet);
}
HeapFree(GetProcessHeap(), 0, lpentry);
return 0;
}
注意
ras.h ヘッダーは RasDeleteEntry をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ras.h |
Library | Rasapi32.lib |
[DLL] | Rasapi32.dll |