EAP_PEER_METHOD_ROUTINES 구조체(eapmethodpeerapis.h)
EAPHost 피어 메서드 API에 대한 함수 포인터 집합을 포함합니다.
구문
typedef struct _EAP_PEER_METHOD_ROUTINES {
DWORD dwVersion;
EAP_TYPE *pEapType;
DWORD((EAP_ERROR **ppEapError) * )EapPeerInitialize;
DWORD(lags,DWORD dwSizeofConnectionData, const BYTE *pConnectionData,DWORD dwSizeofUserData, const BYTE *pUserData,HANDLE hTokenImpersonateUser,BOOL *pfInvokeUI,DWORD *pdwSizeOfUserDataOut,BYTE **ppUserDataOut,WCHAR **ppwszIdentity,EAP_ERROR **ppEapError) * )(DWORD fEapPeerGetIdentity;
DWORD(RD dwFlags, const EapAttributes * const pAttributeArray,HANDLE hTokenImpersonateUser,DWORD dwSizeofConnectionData,BYTE *pConnectionData,DWORD dwSizeofUserData,BYTE *pUserData,DWORD dwMaxSendPacketSize,EAP_SESSION_HANDLE *pSessionHandle,EAP_ERROR **ppEapError) * )(DWOEapPeerBeginSession;
DWORD(AP_SESSION_HANDLE sessionHandle,WCHAR *pwszIdentity,WCHAR *pwszPassword,EAP_ERROR **ppEapError) * )(EEapPeerSetCredentials;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD cbReceivePacket,EapPacket *pReceivePacket,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerProcessRequestPacket;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD *pcbSendPacket,EapPacket *pSendPacket,EAP_ERROR **ppEapError) * )(EEapPeerGetResponsePacket;
DWORD(EAP_SESSION_HANDLE sessionHandle,EapPeerMethodResultReason reason,EapPeerMethodResult *ppResult,EAP_ERROR **ppEapError) * )(EapPeerGetResult;
DWORD(P_SESSION_HANDLE sessionHandle,DWORD *dwSizeOfUIContextData,BYTE **pUIContextData,EAP_ERROR **ppEapError) * )(EAEapPeerGetUIContext;
DWORD(AP_SESSION_HANDLE sessionHandle,DWORD dwSizeOfUIContextData, const BYTE *pUIContextData,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerSetUIContext;
DWORD(EAP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EAP_ERROR **ppEapError) * )(EapPeerGetResponseAttributes;
DWORD(AP_SESSION_HANDLE sessionHandle,EapAttributes *pAttribs,EapPeerMethodOutput *pEapOutput,EAP_ERROR **ppEapError) * )(EEapPeerSetResponseAttributes;
DWORD((EAP_SESSION_HANDLE sessionHandle,EAP_ERROR **ppEapError) * )EapPeerEndSession;
DWORD((EAP_ERROR **ppEapError) * )EapPeerShutdown;
} EAP_PEER_METHOD_ROUTINES;
멤버
dwVersion
구현자 정의 구조 버전입니다.
pEapType
이 구조체의 멤버가 가리키는 API 의 구현자에 대한 공급업체 정보를 포함하는 EAP_TYPE 구조체에 대한 포인터입니다.
EapPeerInitialize
EapPeerInitialize에 대한 함수 포인터입니다.
pEapError
이 함수 호출을 실행하는 동안 발생한 오류를 포함하는 EAP_ERROR 구조체에 대한 포인터입니다. 오류 데이터를 사용한 후에는 EapPeerFreeErrorMemory에 포인터를 전달하여 이 메모리를 해제해야 합니다.
EapPeerGetIdentity
EapPeerGetIdentity에 대한 함수 포인터입니다.
dwflags
EAP 인증 세션 동작을 설명하는 EAP 플래그의 조합입니다.
dwSizeofConnectionData
pConnectionData에 제공된 연결 데이터 버퍼의 크기(바이트)를 지정합니다.
pConnectionData
불투명 구성 데이터 BLOB을 포함하는 바이트 버퍼에 대한 포인터입니다.
dwSizeOfUserData
pUserData에 제공된 사용자 데이터 버퍼의 크기(바이트)를 지정합니다.
pUserData
사용자 데이터를 미리 채우는 데 사용되는 이 인증과 관련된 사용자 데이터에 대한 포인터입니다. 이 API가 처음으로 호출되거나 새 인증 세션이 시작될 때 이 매개 변수는 NULL입니다. 그렇지 않으면 EapPeerGetResult에서 받은 ppResult 매개 변수가 가리키는 구조체의 pUserData 멤버로 이 매개 변수를 설정합니다.
hTokenImpersonateUser
인증되는 사용자의 가장 토큰에 대한 핸들을 지정합니다. 이 핸들은 컴퓨터 인증을 수행할 때 NULL 이 됩니다. 이 핸들을 사용하면 EAP 메서드가 사용자 이름, 도메인 이름 및 자격 증명과 같은 사용자 특정 정보를 얻기 위해 사용자를 가장할 수 있습니다.
pfInvokeUI
사용자 ID 및 사용자 데이터 Blob이 성공적으로 반환되지 않고 메서드가 사용자 인터페이스 대화 상자를 통해 사용자로부터 정보를 수집하려고 하면 TRUE 를 반환합니다.
pdwSizeOfUserDataOut
ppUserDataOut 버퍼의 크기(바이트)를 지정합니다.
ppUserDataOut
반환된 사용자 데이터에 대한 포인터에 대한 포인터입니다. 데이터는 입력 pUserData로 EapPeerBeginSession에 전달됩니다.
ppwszIdentity
반환된 사용자 ID에 대한 포인터입니다. 포인터는 ID 응답 패킷에 포함되고 서버로 반환됩니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류를 포함하는 EAP_ERROR 구조체에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerBeginSession
EapPeerBeginSession에 대한 함수 포인터입니다.
dwFlags
새 EAP 인증 세션 동작을 설명하는 EAP 플래그의 조합입니다.
pAttributeArray
인증할 엔터티의 EAP 특성을 지정하는 EAP_ATTRIBUTES 배열 구조체에 대한 포인터입니다.
hTokenImpersonateUser
이 세션에서 사용할 사용자 가장 토큰에 대한 핸들을 지정합니다.
dwSizeOfConnectionData
pConnectionData에 제공된 연결 데이터 버퍼의 크기(바이트)를 지정합니다.
pConnectionData
불투명 구성 데이터 BLOB을 포함하는 바이트 버퍼에 대한 포인터입니다.
dwSizeOfUserData
pUserData에 제공된 사용자 데이터 버퍼의 크기(바이트)를 지정합니다.
pUserData
불투명 사용자 데이터 BLOB을 포함하는 바이트 버퍼에 대한 포인터입니다.
dwMaxSendPacketSize
세션 중에 전송된 EAP 패킷의 최대 크기(바이트)를 지정합니다. 메서드가 최대 크기보다 큰 패킷을 보내야 하는 경우 메서드는 조각화 및 어셈블리를 수용해야 합니다.
pSessionHandle
EAPHost의 새 EAP 인증 세션에 대한 고유 ID를 포함하는 EAP_SESSION_HANDLE 구조체에 대한 포인터
ppEapError
이 함수 호출을 실행하는 동안 EAPHost에서 발생한 오류를 포함하는 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerSetCredentials
EapPeerSetCredentials에 대한 함수 포인터입니다.
sessionHandle
EAPHost 서버에서 이 EAP 인증 세션에 대한 고유 핸들을 포함하는 EAP_SESSION_HANDLE 구조체에 대한 포인터입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 pSessionHandle 매개 변수에 반환됩니다.
pwszIdentity
자격 증명을 설정할 사용자 ID를 지정하는 포인터입니다. 이 사용자 ID 문자열은 EapPeerGetIdentity 함수를 호출하여 가져옵니다.
pwszPassword
사용자 ID에 대한 명확한 텍스트 암호를 포함하는 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류를 포함하는 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerProcessRequestPacket
EapPeerProcessRequestPacket에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
cbReceivePacket
pReceivePacket에 지정된 요청 패킷의 크기(바이트)입니다.
pReceivePacket
처리할 요청 패킷을 포함하는 EapPacket 구조체에 대한 포인터입니다.
pEapOutput
패킷 프로세스 작업의 출력을 포함하는 EapPeerMethodOutput 구조체에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류를 포함하는 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerGetResponsePacket
EapPeerGetResponsePacket에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
pcbSendPacket
응답 패킷에 할당된 버퍼의 크기(바이트)를 포함하는 값에 대한 포인터입니다. 반환 시 이 매개 변수는 pSendPacket의 실제 크기(바이트)에 대한 포인터를 받습니다.
pSendPacket
응답 패킷을 포함하는 EapPacket 구조체에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerGetResult
EapPeerGetResult에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
reason
ppResult에서 반환된 인증 결과의 이유 코드를 지정하는 열거형 값입니다.
ppResult
인증 결과를 포함하는 EapHostPeerMethodResult 구조체에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후에는 EapPeerFreeErrorMemory에 대한 포인터를 전달하여 이 메모리를 해제해야 합니다.
EapPeerGetUIContext
EapPeerGetUIContext에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
pdwSizeOfUIContextData
ppUIContextData에서 반환된 사용자 인터페이스 컨텍스트 데이터 바이트 버퍼의 크기를 지정하는 값에 대한 포인터입니다.
ppUIContextData
EAPHost의 사용자 인터페이스 컨텍스트 데이터가 있는 바이트 버퍼가 포함된 주소에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후에는 오류 데이터에 대한 포인터를 EapPeerFreeErrorMemory에 전달하여 이 메모리를 해제해야 합니다.
EapPeerSetUIContext
EapPeerSetUIContext에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
dwSizeOfUIContextData
pUIContextData에 제공된 UI 컨텍스트 데이터 바이트 버퍼의 크기를 지정하는 값에 대한 포인터입니다.
pUIContextData
EAPHost에 설정할 새 UI 컨텍스트 데이터가 있는 바이트 버퍼가 포함된 주소에 대한 포인터입니다.
pEapOutput
패킷 프로세스 작업의 출력을 포함하는 EapPeerMethodOutput 구조체에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후에는 EapPeerFreeErrorMemory에 대한 포인터를 전달하여 이 메모리를 해제해야 합니다.
EapPeerGetResponseAttributes
EapPeerGetResponseAttributes에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
pAttribs
지원자의 EAP 인증 응답 특성 배열을 포함하는 EAP_ATTRIBUTES 구조체에 대한 포인터를 받습니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerSetResponseAttributes
EapPeerSetResponseAttributes에 대한 함수 포인터입니다.
sessionHandle
EAP_SESSION_HANDLE EAPHost의 EAP 인증 세션에 대한 특정 핸들을 포함하는 값입니다. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
pAttribs
EAPHost 의 지원 대상에 대해 설정할 새 EAP 인증 응답 특성의 배열을 포함하는 EAP_ATTRIBUTES 구조체에 대한 포인터입니다.
pEapOutput
지원자가 업데이트된 특성에 대한 응답으로 수행해야 하는 제안된 작업을 지정하는 EapPeerMethodOutput 구조체에 대한 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerEndSession
EapPeerEndSession에 대한 함수 포인터입니다.
sessionHandle
EAPHost에서 닫을 EAP 인증 세션에 대한 특정 핸들을 포함하는 값을 EAP_SESSION_HANDLE. 이 핸들은 EapPeerBeginSession에 대한 이전 호출에서 가져옵니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후 EapPeerFreeErrorMemory를 호출하여 이 메모리를 해제해야 합니다.
EapPeerShutdown
EapPeerShutdown에 대한 함수 포인터입니다.
ppEapError
이 함수 호출을 실행하는 동안 발생한 오류가 포함된 EAP_ERROR 구조체의 주소에 대한 포인터입니다. 오류 데이터를 사용한 후에는 EapPeerFreeErrorMemory에 대한 포인터를 전달하여 이 메모리를 해제해야 합니다.
설명
각 EAP 메서드 DLL은 다음 API를 구현해야 합니다.
- EapPeerInitialize
- EapPeerBeginSession
- EapPeerGetIdentity
- EapPeerSetCredentials
- EapPeerProcessRequestPacket
- EapPeerGetResponsePacket
- EapPeerGetResult
- EapPeerGetUIContext
- EapPeerSetUIContext
- EapPeerGetResponseAttributes
- EapPeerSetResponseAttributes
- EapPeerEndSession
- EapPeerShutdown
EAP 피어 메서드 API 집합의 다른 함수는 해당 지원 호출 없이 피어 기반 EAPHost에 의해 호출되며 연결 유효성 검사 또는 사용자 인터페이스 발생 작업에 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
머리글 | eapmethodpeerapis.h |