다음을 통해 공유


RasSecurityDialogReceive 함수(rasshost.h)

RasSecurityDialogReceive 함수는 보안 문제에 대한 원격 사용자의 응답을 수신하는 비동기 작업을 시작합니다. 응답은 사용자가 원격 컴퓨터의 터미널 창에 입력한 입력입니다. 타사 RAS 보안 DLL은 원격 사용자 인증의 일부로 이 함수를 호출합니다.

이 함수를 호출하려면 먼저 LoadLibrary 함수를 호출하여 Rasman.dll 로드합니다. 그런 다음 GetProcAddress 함수를 호출하여 DLL의 RasSecurityDialogReceive 진입점을 가져옵니다.

참고 Windows Server 2008, Windows Server 2003, Windows 2000 Server 및 Windows NT Server 4.0은 현재 직렬 디바이스에 대해서만 RAS 보안 호스트 지원을 제공합니다. ISDN(통합 서비스 디지털 네트워크) 또는 VPN(가상 사설망) 연결과 같은 다른 유형의 연결은 지원되지 않습니다.
 

구문

DWORD RasSecurityDialogReceive(
  [in] HPORT  hPort,
  [in] PBYTE  pBuffer,
  [in] PWORD  pBufferLength,
  [in] DWORD  Timeout,
  [in] HANDLE hEvent
);

매개 변수

[in] hPort

RAS 서버가 이 인증 트랜잭션에 대한 RasSecurityDialogBegin 호출의 보안 DLL에 전달한 포트 핸들을 지정합니다.

[in] pBuffer

RasSecurityDialogBegin 호출에서 보안 DLL에 전달된 수신 버퍼에 대한 포인터입니다. 비동기 수신 작업이 성공적으로 완료되면 이 버퍼는 원격 사용자의 응답을 지정합니다.

[in] pBufferLength

WORD 변수에 대한 포인터입니다. 이 변수는 pBuffer 버퍼의 크기(바이트)를 지정해야 합니다. 수신 작업이 완료되면 변수는 pBuffer 버퍼에 반환된 바이트 수를 나타냅니다.

[in] Timeout

RAS 서버가 hEvent 이벤트 개체를 신호 상태로 설정한 시간 제한 기간(초)을 지정합니다.

이 값이 0이면 시간 제한 기간이 없습니다. 즉, RAS 서버는 수신 작업이 완료될 때까지 이벤트 개체에 신호를 주지 않습니다.

[in] hEvent

CreateEvent 함수에서 만든 이벤트 개체의 핸들을 지정합니다. RAS 서버는 수신 작업이 완료되었거나 제한 시간이 경과한 경우 이벤트 개체를 신호 상태로 설정합니다.

반환 값

함수가 성공하면 반환 값은 PENDING(Raserror.h에 정의됨)입니다. 이는 수신 작업이 진행 중임을 나타냅니다.

오류가 발생하면 반환 값은 Raserror.h 또는 Winerror.h에 정의된 오류 코드 중 하나입니다. GetLastError 는 확장된 오류 정보를 제공하지 않습니다.

설명

RasSecurityDialogSend 함수를 호출하여 원격 사용자에게 보안 챌린지를 보낸 후 보안 DLL은 RasSecurityDialogReceive 함수를 호출하여 사용자의 응답을 가져와야 합니다.

RasSecurityDialogReceive 함수는 비동기입니다. 함수가 반환되면 보안 DLL은 waitForSingleObject와 같은 대기 함수 중 하나를 사용하여 hEvent 이벤트 개체가 신호를 받을 때까지 기다려야 합니다. RAS 서버는 수신 작업이 완료되었거나 제한 시간 간격이 경과했을 때 이벤트 개체에 신호를 보냅니다. 수신 작업이 성공하면 pBuffer 버퍼에 원격 사용자의 응답이 포함되고 pBufferLength 매개 변수는 수신된 바이트 수를 나타냅니다. 원격 사용자가 버퍼에 맞는 것보다 많은 바이트를 보내는 경우 RAS 서버는 초과 바이트를 버퍼링하고 다음 RasSecurityDialogReceive 호출에서 반환합니다.

제한 시간 매개 변수를 사용하여 시간 제한 간격을 지정합니다. 시간 초과가 경과하면 RAS 서버는 이벤트 개체에 신호를 보냅니다. pBufferLength 매개 변수는 0바이트가 전송되었음을 나타냅니다. 또는 시간 제한을 0으로 설정하고 이벤트 개체를 기다리는 데 사용되는 대기 함수에서 시간 제한 간격을 지정합니다.

보안 DLL이 원격 사용자를 인증하는 경우 원격 컴퓨터의 연결 작업이 일시 중지된 RASCS_Interactive 상태가 됩니다. RasSecurityDialogSend에서 보낸 메시지는 원격 컴퓨터의 터미널 창에 출력으로 표시됩니다. RasSecurityDialogReceive에서 받은 응답은 원격 사용자가 터미널 창에서 입력하는 입력입니다. RASCS_Interactive 값은 RASCONNSTATE 열거형에 정의됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 rasshost.h
DLL Rasman.dll

추가 정보

CreateEvent

GetProcAddress

LoadLibrary

RAS 서버 관리 함수

RASCONNSTATE

RasSecurityDialogSend

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

WaitForSingleObject