다음을 통해 공유


RasSetCredentialsA 함수(ras.h)

RasSetCredentials 함수는 지정된 RAS 전화 번호부 항목과 연결된 사용자 자격 증명을 설정합니다.

통사론

DWORD RasSetCredentialsA(
  [in] LPCSTR            unnamedParam1,
  [in] LPCSTR            unnamedParam2,
  [in] LPRASCREDENTIALSA unnamedParam3,
  [in] BOOL              unnamedParam4
);

매개 변수

[in] unnamedParam1

전화 번호부(PBK) 파일의 전체 경로 및 파일 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL경우 함수는 현재 기본 전화 번호부 파일을 사용합니다. 기본 전화 번호부 파일은 전화 접속 네트워킹 대화 상자의 사용자 기본 설정 속성 시트에서 사용자가 선택한 파일입니다.

[in] unnamedParam2

전화 번호부 항목의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

[in] unnamedParam3

지정된 전화 번호부 항목에 대해 설정할 사용자 자격 증명을 지정하는 RASCREDENTIALS 구조체에 대한 포인터입니다. RasSetCredentials호출하기 전에 구조체의 dwSize 멤버를 sizeof(RASCREDENTIALS) 설정하고 dwMask 멤버를 설정하여 설정할 자격 증명 정보를 나타냅니다.

[in] unnamedParam4

RasSetCredentials 기존 자격 증명을 빈 문자열 ""로 설정하여 지울지 여부를 지정하는 값입니다. 이 플래그가 TRUE경우 RASCREDENTIALS 구조체의 dwMask 멤버는 함수가 빈 문자열로 설정하는 자격 증명을 나타냅니다. 이 플래그가 FALSE경우 함수는 해당 RASCREDENTIALS 멤버의 내용에 따라 표시된 자격 증명을 설정합니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나이거나 라우팅 및 원격 액세스 오류 코드 또는 WinError.h의 값입니다.

의미
ERROR_CANNOT_OPEN_PHONEBOOK
지정한 전화 번호부를 찾을 수 없습니다.
ERROR_INVALID_PARAMETER
lpCredentials 매개 변수가 NULL지정한 항목이 전화 번호부에 없습니다.
ERROR_ACCESS_DENIED
다음 조건 중 하나가 발생했습니다.
  • 호출 애플리케이션이 사용자별 연결에 대한 기본 자격 증명을 설정하려고 했습니다. 기본 자격 증명은 모든 사용자 연결에 대해서만 설정할 수 있습니다.
  • 사용자는 모든 사용자 connectoids의 경우 모든 사용자에 대해 미리 공유된 키 또는 자격 증명을 설정할 수 있는 올바른 권한이 없습니다. 관리자만 이러한 작업을 완료할 수 있습니다.

발언

RasSetCredentials 함수는 지정된 RAS 전화 번호부 항목과 연결된 사용자 자격 증명을 설정합니다. 전화 번호부 항목과 함께 저장된 자격 증명은 지정된 전화 번호부 항목을 사용하여 성공적으로 연결할 마지막 사용자의 자격 증명이거나, 이후에 RasSetCredentials 또는 RasSetEntryDialParams 함수에 대한 호출에서 지정된 자격 증명입니다.

RasSetCredentials 함수는 전화 번호부 항목으로 자격 증명을 안전하게 저장하는 기본 방법입니다. RasSetCredentialsRasSetEntryDialParams 함수를 대체합니다. 이 함수는 이후 Windows 운영 체제 릴리스에서 지원되지 않을 수 있습니다.

암호 핸들은 "****************"(별표 16개)입니다. RasGetCredentials 호출하고 암호 필드에 16 *s를 다시 받으면 저장된 암호가 있으며 보안상의 이유로 일반 텍스트로 다시 제공되지 않습니다. RASCREDENTIALS 구조의 szPassword 멤버에 RasGetCredentials 또는 RasGetEntryDialParams반환된 암호 핸들(16*s)이 포함되어 있으면 RasSetCredentials 다음 호출은 저장된 암호를 변경하지 않습니다.

모든 사용자 연결에 대한 기본 자격 증명을 설정하려면 lpCredentials 매개 변수가 가리키는 RASCREDENTIALS 구조체의 dwMask 멤버에서 RASCM_DefaultCreds 플래그를 설정합니다. 사용자별 연결에 대한 기본 자격 증명을 설정하려고 하면 RasSetCredentialsERROR_ACCESS_DENIED반환합니다.

모든 사용자 연결에 대한 자격 증명을 설정할 때 호출 애플리케이션이 전화 번호부 매개 변수에 NULL이 아닌 값을 지정하는 경우 lpszPhonebook전화 번호부 파일은 모든 사용자 애플리케이션 데이터 경로 아래의 전화 번호부 디렉터리에 있어야 합니다. 전화 번호부 파일에 대한 올바른 위치를 얻으려면 먼저 CSIDL 값이 CSIDL_COMMON_APPDATASHGetFolderPath 호출합니다. SHGetFolderPath 모든 사용자 애플리케이션 데이터 경로를 반환합니다. 이 경로에 다음 문자열을 추가합니다.

Microsoft\Network\Connections\Pbk

결합된 경로는 전화 번호부 파일에 대한 올바른 위치입니다.

참고lpszPhonebook 매개 변수에 NULL이 아닌 값을 지정하는 것은 이후 버전의 Windows 운영 체제에서 지원되지 않을 수 있습니다.
 
미리 공유된 키를 설정하려면 RASCREDENTIALSRASCM_PreSharedKey 플래그를 사용합니다. dwMask 필드를.

메모

ras.h 헤더는 RAsSetCredentials를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ras.h
라이브러리 Rasapi32.lib
DLL Rasapi32.dll

참고 항목

RASCREDENTIALS

RasDial

RasGetCredentials

RasSetEntryDialParams

RAS(원격 액세스 서비스) 개요

원격 액세스 서비스 함수