Поделиться через


структура EAP_PEER_METHOD_ROUTINES (eapmethodpeerapis.h)

Содержит набор указателей функций на API одноранговых методов EAPHost.

Синтаксис

typedef struct _EAP_PEER_METHOD_ROUTINES {
  DWORD    dwVersion;
  EAP_TYPE *pEapType;
  DWORD((EAP_ERROR **ppEapError)   * )EapPeerInitialize;
  DWORD(flags,DWORD dwSizeofConnectionData, const BYTE *pConnectionData,DWORD dwSizeofUserData, const BYTE *pUserData,HANDLE hTokenImpersonateUser,BOOL *pfInvokeUI,DWORD *pdwSizeOfUserDataOut,BYTE **ppUserDataOut,LPWSTR *ppwszIdentity,EAP_ERROR **ppEapError)   * )(DWORD EapPeerGetIdentity;
  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 *pResult,EAP_ERROR **ppEapError)   * )(EapPeerGetResult;
  DWORD(P_SESSION_HANDLE sessionHandle,DWORD *pdwSizeOfUIContextData,BYTE **ppUIContextData,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

Указатель на структуру EAP_TYPE , содержащую сведения о поставщике, на который указывают члены этой структуры.

EapPeerInitialize

Указатель функции для EapPeerInitialize.

pEapError

Указатель на структуру EAP_ERROR , содержащую ошибки, возникающие во время выполнения этого вызова функции. После использования данных об ошибке эту память необходимо освободить, передав указатель на EapPeerFreeErrorMemory.

EapPeerGetIdentity

Указатель функции для EapPeerGetIdentity.

Dwflags

Сочетание флагов EAP , описывающих поведение сеанса проверки подлинности EAP.

dwSizeofConnectionData

Указывает размер (в байтах) буфера данных подключения, предоставленного в pConnectionData.

pConnectionData

Указатель на буфер байтов, содержащий большой двоичный объект данных непрозрачной конфигурации.

dwSizeOfUserData

Указывает размер (в байтах) буфера данных пользователя, предоставленного в pUserData.

pUserData

Указатель на пользовательские данные, относящиеся к этой проверке подлинности, используемый для предварительного заполнения данных пользователя. При первом вызове этого API или при запуске нового сеанса проверки подлинности этот параметр имеет значение NULL. В противном случае задайте для этого параметра элемент pUserData структуры, на который указывает параметр ppResult , полученный EapPeerGetResult.

hTokenImpersonateUser

Указывает дескриптор для токена олицетворения пользователя, прошедшего проверку подлинности. Этот дескриптор будет иметь значение NULL при проверке подлинности компьютера. С помощью этого дескриптора метод EAP может олицетворять пользователя для получения конкретных сведений, таких как имя пользователя, доменное имя и учетные данные.

pfInvokeUI

Возвращает значение TRUE , если удостоверение пользователя и большой двоичный объект пользовательских данных не возвращаются успешно, а метод пытается собрать сведения от пользователя через диалоговое окно пользовательского интерфейса.

pdwSizeOfUserDataOut

Указывает размер буфера ppUserDataOut (в байтах).

ppUserDataOut

Указатель на указатель на возвращенные пользовательские данные. Данные передаются в EapPeerBeginSession в качестве входных данных pUserData.

ppwszIdentity

Указатель на возвращенное удостоверение пользователя. Указатель будет включен в пакет ответа удостоверения и возвращен на сервер.

ppEapError

Указатель на указатель на структуру EAP_ERROR , которая содержит ошибки, возникающие во время выполнения этого вызова функции. После использования данных об ошибке эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerBeginSession

Указатель функции для EapPeerBeginSession.

dwFlags

Сочетание флагов EAP , описывающих новое поведение сеанса проверки подлинности EAP.

pAttributeArray

Указатель на структуру массива EAP_ATTRIBUTES , указывающую атрибуты EAP сущности для проверки подлинности.

hTokenImpersonateUser

Указывает дескриптор маркера олицетворения пользователя, который будет использоваться в этом сеансе.

dwSizeOfConnectionData

Указывает размер (в байтах) буфера данных подключения, предоставленного в pConnectionData.

pConnectionData

Указатель на буфер байтов, содержащий большой двоичный объект непрозрачных данных конфигурации.

dwSizeOfUserData

Задает размер в байтах буфера пользовательских данных, предоставленного в pUserData.

pUserData

Указатель на буфер байтов, содержащий большой двоичный объект непрозрачных пользовательских данных.

dwMaxSendPacketSize

Указывает максимальный размер в байтах пакета EAP, отправленного во время сеанса. Если методу требуется отправить пакет, превышающий максимальный размер, метод должен обеспечить фрагментацию и повторную сборку.

pSessionHandle

Указатель на структуру EAP_SESSION_HANDLE , содержащую уникальный идентификатор нового сеанса проверки подлинности EAP на EAPHost.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей все ошибки, возникающие eAPHost во время выполнения этого вызова функции. После использования данных об ошибке эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerSetCredentials

Указатель функции для EapPeerSetCredentials.

sessionHandle

Указатель на структуру EAP_SESSION_HANDLE , содержащую уникальный дескриптор для этого сеанса проверки подлинности EAP на сервере EAPHost. Этот дескриптор возвращается в параметре pSessionHandle при предыдущем вызове EapPeerBeginSession.

pwszIdentity

Указатель, указывающий удостоверение пользователя, для которого нужно задать учетные данные. Эта строка удостоверения пользователя получается путем вызова функции EapPeerGetIdentity .

pwszPassword

Указатель, содержащий пароль в виде текста для удостоверения пользователя.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие во время выполнения этого вызова функции. После использования данных об ошибке эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerProcessRequestPacket

Указатель функции для EapPeerProcessRequestPacket.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получается при предыдущем вызове EapPeerBeginSession.

cbReceivePacket

Размер пакета запроса в байтах, указанный в pReceivePacket.

pReceivePacket

Указатель на структуру EapPacket , содержащую пакет запроса для обработки.

pEapOutput

Указатель на структуру EapPeerMethodOutput , содержащую выходные данные операции пакетного процесса.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие во время выполнения этого вызова функции. После использования данных об ошибке эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerGetResponsePacket

Указатель функции для EapPeerGetResponsePacket.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получается при предыдущем вызове EapPeerBeginSession.

pcbSendPacket

Указатель на значение, содержащее размер буфера, выделенного для пакета ответа, в байтах. При возврате этот параметр получает указатель на фактический размер pSendPacket в байтах.

pSendPacket

Указатель на структуру EapPacket , содержащую пакет ответа.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, вызвавEapPeerFreeErrorMemory.

EapPeerGetResult

Указатель функции для EapPeerGetResult.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

reason

Значение перечисления, указывающее код причины для результата проверки подлинности, возвращаемого в ppResult.

ppResult

Указатель на структуру EapHostPeerMethodResult , содержащую результаты проверки подлинности.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, передав указатель на EapPeerFreeErrorMemory.

EapPeerGetUIContext

Указатель функции для EapPeerGetUIContext.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

pdwSizeOfUIContextData

Указатель на значение, указывающее размер буфера байтов контекста пользовательского интерфейса, возвращаемого в ppUIContextData.

ppUIContextData

Указатель на адрес, содержащий буфер байтов с запрашивающими данными контекста пользовательского интерфейса из EAPHost.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эта память должна быть освобождена путем передачи указателя на данные об ошибках в EapPeerFreeErrorMemory.

EapPeerSetUIContext

Указатель функции для EapPeerSetUIContext.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

dwSizeOfUIContextData

Указатель на значение, указывающее размер буфера байтов данных контекста пользовательского интерфейса, предоставленного в pUIContextData.

pUIContextData

Указатель на адрес, содержащий буфер байтов с новыми данными контекста пользовательского интерфейса, заданными на EAPHost.

pEapOutput

Указатель на структуру EapPeerMethodOutput , содержащую выходные данные операции процесса пакета.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, передав указатель на EapPeerFreeErrorMemory.

EapPeerGetResponseAttributes

Указатель функции для EapPeerGetResponseAttributes.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

pAttribs

Получает указатель на структуру EAP_ATTRIBUTES , содержащую массив атрибутов ответа проверки подлинности EAP для запрашивающего.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, вызвавEapPeerFreeErrorMemory.

EapPeerSetResponseAttributes

Указатель функции для EapPeerSetResponseAttributes.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

pAttribs

Указатель на структуру EAP_ATTRIBUTES , содержащую массив новых атрибутов ответа проверки подлинности EAP, которые необходимо задать для запрашивающего объекта на EAPHost.

pEapOutput

Указатель на структуру EapPeerMethodOutput , которая указывает предлагаемое действие, которое запрашивающий должен принять в качестве ответа на обновленные атрибуты.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerEndSession

Указатель функции для EapPeerEndSession.

sessionHandle

EAP_SESSION_HANDLE значение, содержащее конкретный дескриптор для закрытия сеанса проверки подлинности EAP на EAPHost. Этот дескриптор получен предыдущим вызовом EapPeerBeginSession.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, вызвав EapPeerFreeErrorMemory.

EapPeerShutdown

Указатель функции для EapPeerShutdown.

ppEapError

Указатель на адрес структуры EAP_ERROR , содержащей ошибки, возникающие при выполнении этого вызова функции. После использования данных об ошибках эту память необходимо освободить, передав указатель на EapPeerFreeErrorMemory.

Комментарии

Каждая библиотека DLL метода EAP должна реализовывать следующие API:

Эти API соответствуют вызовам, выполняемым запрашивающим, и служат прокси-сервером между вызовами API запрашивающего и общедоступными API, предоставляемыми в библиотеке DLL метода EAP. Таким образом, когда запрашивающий выполняет вызов однорангового EAPHost для установления сеанса проверки подлинности или выполнения операции во время этого сеанса, EAPHost вызывает соответствующую реализованную функцию в библиотеке DLL метода EAP с предоставленными данными параметров. Функции метода EAP управляются указателями на соответствующие точки входа.

Другие функции в наборе API однорангового метода EAP вызываются одноранговым EAPHost без соответствующего запрашивающего вызова и используются для проверки подключения или операций вызова пользовательского интерфейса.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть eapmethodpeerapis.h

См. также раздел

Структуры одноранговых методов EAPHost

EapPeerGetInfo