RasEapGetIdentity 함수(raseapif.h)

RAS 연결 관리자는 RasEapGetIdentity 함수를 호출하여 인증을 요청하는 사용자에 대한 ID 정보를 가져옵니다.

구문

DWORD RasEapGetIdentity(
  [in]  DWORD       dwEapTypeId,
  [in]  HWND        hwndParent,
  [in]  DWORD       dwFlags,
  [in]  const WCHAR *pwszPhonebook,
  [in]  const WCHAR *pwszEntry,
  [in]  BYTE        *pConnectionDataIn,
  [in]  DWORD       dwSizeOfConnectionDataIn,
  [in]  BYTE        *pUserDataIn,
  [in]  DWORD       dwSizeOfUserDataIn,
  [out] BYTE        **ppUserDataOut,
  [out] DWORD       *pdwSizeOfUserDataOut,
  [out] WCHAR       **ppwszIdentityOut
);

매개 변수

[in] dwEapTypeId

ID 사용자 인터페이스를 호출할 인증 프로토콜을 지정합니다.

[in] hwndParent

사용자 인터페이스 대화 상자의 부모 창에 대한 핸들입니다. dwFlags 매개 변수에 RAS_EAP_FLAG_NON_INTERACTIVE 플래그가 포함된 경우 hwndParentNULL입니다.

[in] dwFlags

인증 프로세스를 한정하는 다음 플래그 중 0개 이상을 지정합니다.

플래그 의미
RAS_EAP_FLAG_ROUTER
전화를 거는 컴퓨터가 라우터임을 지정합니다. 이 플래그가 없는 경우 에서 전화를 거는 컴퓨터가 RAS 클라이언트임을 나타냅니다.
RAS_EAP_FLAG_NON_INTERACTIVE
인증 프로토콜이 사용자 인터페이스를 표시해서는 안 되도록 지정합니다. 인증 프로토콜이 제공된 데이터에서 ID를 확인할 수 없는 경우 오류 코드를 반환해야 ERROR_INTERACTIVE_MODE. 이 플래그를 지정하면 hwndParent 매개 변수는 NULL이 됩니다.
RAS_EAP_FLAG_LOGON
로컬 시스템에 로그온할 때 Winlogon.exe 사용자 데이터를 가져오게 지정합니다.
RAS_EAP_FLAG_PREVIEW
전화를 걸기 전에 사용자에게 ID 정보를 묻는 메시지를 표시하도록 지정합니다.
RAS_EAP_FLAG_FIRST_LINK
이 연결이 다중 링크 연결의 첫 번째 링크임을 나타냅니다. 자세한 내용은 [다중 링크 및 콜백 Connections](/windows/win32/eap/multilink-and-callback-connections)을 참조하세요.
RAS_EAP_FLAG_MACHINE_AUTH
인증 프로세스에서 인증에 컴퓨터 자격 증명을 사용하도록 지정합니다. 자격 증명은 MSCHAPv2의 경우와 같이 인증서, 컴퓨터 이름/암호 또는 컴퓨터를 식별하는 다른 수단일 수 있습니다. 인증 프로토콜이 컴퓨터 인증을 지원하지 않는 경우 오류 ERROR_NOT_SUPPORTED 반환해야 합니다.
RAS_EAP_FLAG_8021X_AUTH
이 세션이 무선 컨텍스트에서 실행 중임을 지정합니다.

[in] pwszPhonebook

PBK(전화 번호부) 파일의 전체 경로를 지정하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 이 매개 변수가 NULL인 경우 함수는 시스템 전화 번호부를 사용합니다.

[in] pwszEntry

기존 항목 이름을 지정하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다.

[in] pConnectionDataIn

현재 전화 번호부 항목에 저장된 연결 관련 데이터에 대한 포인터입니다.

[in] dwSizeOfConnectionDataIn

현재 전화 번호부 항목에 저장된 연결 관련 데이터의 크기를 지정합니다.

[in] pUserDataIn

레지스트리에서 이 사용자에 대해 현재 저장된 사용자별 데이터에 대한 포인터입니다.

[in] dwSizeOfUserDataIn

레지스트리에 이 사용자에 대해 현재 저장된 사용자별 데이터의 크기를 지정합니다.

[out] ppUserDataOut

반환이 성공적일 때 사용자의 ID 데이터를 가리키는 포인터에 대한 포인터입니다. 이 데이터는 RasEapBegin을 호출하는 동안 PPP_EAP_INPUTpUserData 멤버의 인증 프로토콜에 전달됩니다.

인증 프로토콜은 ID 데이터에 대한 메모리 버퍼를 할당해야 합니다. RAS는 RasEapFreeMemory를 호출하여 이 메모리를 해제합니다.

[out] pdwSizeOfUserDataOut

ppUserDataOut 매개 변수가 가리키는 데이터의 크기를 수신하는 DWORD 변수에 대한 포인터입니다.

[out] ppwszIdentityOut

성공적으로 반환될 때 인증을 요청하는 사용자를 식별하는 null로 끝나는 유니코드 문자열을 가리키는 포인터에 대한 포인터입니다. 이 문자열은 RasEapBegin을 호출하는 동안 PPP_EAP_INPUTpszIdentity 멤버의 인증 프로토콜에 전달됩니다.

반환 값

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

함수가 사용자 데이터에 대한 메모리를 할당할 수 없는 경우 반환 값은 ERROR_NOT_ENOUGH_MEMORY 합니다.

함수가 RAS_EAP_FLAG_NON_INTERACTIVE 플래그를 사용하여 호출되지만 사용자 인터페이스를 호출하여 사용자의 ID를 확인해야 하는 경우 함수는 ERROR_INTERACTIVE_MODE 반환해야 합니다.

함수가 다른 방법으로 실패하는 경우 반환 값은 Winerror.h, Raserror.h 또는 Mprerror.h의 적절한 오류 코드여야 합니다.

설명

RasEapGetIdentityRasEapFreeMemory를 구현하는 DLL은 둘 이상의 인증 프로토콜을 지원할 수 있습니다. dwEapTypeId 매개 변수는 ID 사용자 인터페이스를 호출할 프로토콜을 지정합니다.

IEEE 802.1X 및 PPP 프로토콜은 RasEapFreeMemory를 구현하지 않고 RasEapGetIdentity를 호출하지 않습니다.

인증 프로토콜은 RasEapBegin 중에 PPP_EAP_INPUTpUserData 멤버의 RasEapGetIdentity에서 반환된 데이터를 받습니다. 이 사용자의 데이터를 레지스트리에 저장하려면 인증 프로토콜이 데이터를 가리키도록 PPP_EAP_OUTPUT pUserData 멤버를 설정하고 PPP_EAP_OUTPUT fSaveUserData멤버를TRUE로 설정해야 합니다.

이 함수는 RAS 함수 RasGetEapUserIdentity에 의해 호출됩니다.

RasEapGetIdentity가 사용자 인터페이스를 표시하는 경우 사용자 인터페이스는 LOWORD(wParam)가 IDCANCEL과 같은 WM_COMMAND 메시지를 지원해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 raseapif.h

추가 정보

EAP 함수

확장 가능한 인증 프로토콜 참조

ID 정보 가져오기

PPP_EAP_INPUT

RasEapFreeMemory

RasEapMakeMessage

RasGetEapUserIdentity