estrutura PPP_EAP_INPUT (raseapif.h)

A estrutura PPP_EAP_INPUT é usada na interação entre a implementação do RAS Gerenciador de Conexões Service PPP e o EAP.

Essa estrutura fornece informações do usuário e facilita o uso de provedores de autenticação, como um servidor RADIUS.

Sintaxe

typedef struct _PPP_EAP_INPUT {
  DWORD              dwSizeInBytes;
  DWORD              fFlags;
  BOOL               fAuthenticator;
  WCHAR              *pwszIdentity;
  WCHAR              *pwszPassword;
  BYTE               bInitialId;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fAuthenticationComplete;
  DWORD              dwAuthResultCode;
  HANDLE             hTokenImpersonateUser;
  BOOL               fSuccessPacketReceived;
  BOOL               fDataReceivedFromInteractiveUI;
  PBYTE              pDataFromInteractiveUI;
  DWORD              dwSizeOfDataFromInteractiveUI;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  HANDLE             hReserved;
  GUID               guidConnectionId;
  BOOL               isVpn;
} PPP_EAP_INPUT, *PPPP_EAP_INPUT;

Membros

dwSizeInBytes

Especifica o tamanho em bytes da estrutura PPP_EAP_INPUT . O valor desse membro pode ser usado para distinguir entre versões atuais e futuras dessa estrutura.

fFlags

Especifica zero ou mais dos sinalizadores a seguir que qualificam o processo de autenticação.

Valor Significado
RAS_EAP_FLAG_ROUTER
Especifica se a discagem do computador em é um roteador ou um cliente RAS. Se o computador for um roteador, esse parâmetro deverá ser definido.
RAS_EAP_FLAG_NON_INTERACTIVE
Especifica que o protocolo de autenticação não deve trazer uma interface do usuário. Se o protocolo de autenticação não for capaz de determinar a identidade dos dados fornecidos, ele deverá retornar o código de erro ERROR_INTERACTIVE_MODE, que é definido em raserror.h.
RAS_EAP_FLAG_LOGON
Especifica que os dados do usuário obtidos do Winlogon.
RAS_EAP_FLAG_FIRST_LINK
Indica que essa conexão é o primeiro link em uma conexão multilink. Consulte [Multilink e Callback Connections](/windows/win32/eap/multilink-and-callback-connections) para obter mais informações.
RAS_EAP_FLAG_GUEST_ACCESS
Especificado se o cliente deseja acesso de convidado. Normalmente, esse sinalizador é usado no caso de uma conexão sem fio de modo que, se a autenticação falhar por N número de tentativas consecutivas do cliente sem fio, se configurado para solicitar acesso de convidado, faça isso passando esse sinalizador. O servidor RADIUS deve ser configurado para permitir o acesso de convidado.
RAS_EAP_FLAG_8021X_AUTH
Especifica que esta sessão está sendo executada em um contexto sem fio.
RAS_EAP_FLAG_RESUME_FROM_HIBERNATE
Especifica que essa é a primeira chamada depois que o computador é retomado da hibernação.
RAS_EAP_FLAG_PEAP_UPFRONT
Especifica que o PEAP está habilitado no início do pipeline de IAS.
RAS_EAP_FLAG_ALTERNATIVE_USER_DB
Especifica que o banco de dados do usuário não é o Active Directory.
RAS_EAP_FLAG_PRE_LOGON
Especifica que as credenciais do usuário ou de uma conta de computador devem ser obtidas de forma segura sem gerar várias instâncias de interface do usuário.

fAuthenticator

Especifica se o protocolo de autenticação está operando no servidor ou no cliente. Um valor true indica que o protocolo de autenticação está operando no servidor como o autenticador. Um valor false indica que o protocolo de autenticação está operando no cliente como o processo a ser autenticado.

pwszIdentity

Ponteiro para uma cadeia de caracteres Unicode que identifica o usuário que solicita a autenticação. Essa cadeia de caracteres é do domínio do formulário\usuário ou computador\usuário.

Se o protocolo de autenticação for capaz de derivar a identidade do usuário de uma fonte adicional, por exemplo, um certificado, ele deverá verificar se a identidade derivada corresponde ao valor de pwszIdentity.

pwszPassword

Ponteiro para uma cadeia de caracteres Unicode que contém a senha da conta do usuário. Disponível somente se fAuthenticator for FALSE. Esse membro pode ser NULL.

bInitialId

Especifica o identificador do pacote EAP inicial enviado pela DLL. Esse valor é incrementado por um para cada pacote de solicitação subsequente.

pUserAttributes

Ponteiro para uma matriz de estruturas de RAS_AUTH_ATTRIBUTE . A matriz é encerrada por uma estrutura com um membro raaType que tem um valor de raatMinimum (consulte RAS_AUTH_ATTRIBUTE_TYPE). Durante a chamada RasEapBegin , essa matriz contém atributos que descrevem o usuário discado no momento. Quando o membro fAuthenticationComplete for TRUE, essa matriz poderá conter atributos retornados pelo provedor de autenticação.

fAuthenticationComplete

Especifica um valor booliano que indica se o provedor de autenticação autenticou o usuário. Um valor true indica a conclusão da autenticação. Verifique o membro dwAuthResultCode para determinar se a autenticação foi bem-sucedida. Ignore esse membro se o protocolo de autenticação não estiver usando um provedor de autenticação.

dwAuthResultCode

Especifica o resultado do processo de autenticação do provedor de autenticação. A autenticação bem-sucedida resulta em NO_ERROR. Os códigos de falha de autenticação para dwAuthResultCode devem vir apenas de Winerror.h, Raserror.h ou Mprerror.h. Ignore esse campo se o protocolo de autenticação não estiver usando um provedor de autenticação.

hTokenImpersonateUser

Manipule para um token de representação para o usuário que solicita a autenticação. Esse membro é válido apenas no lado do cliente. Para obter mais informações sobre tokens de representação, consulte Tokens de acesso.

fSuccessPacketReceived

Especifica que a autenticação foi bem-sucedida. RAS define esse membro como TRUE se o cliente receber um pacote NCP (Protocolo de Controle de Rede), mesmo que o cliente ainda não tenha recebido um pacote de êxito do EAP. Um valor false indica que nenhum pacote NCP foi recebido.

O pacote de êxito do EAP é um pacote não reconhecido. Portanto, ele pode ser perdido e não ser ressentido pelo servidor. Nessa situação, o recebimento de um pacote NCP indica que a autenticação foi bem-sucedida, pois o servidor passou para a fase NCP do PPP.

Examine esse membro somente no lado do cliente.

fDataReceivedFromInteractiveUI

Especifica se as informações estão disponíveis na interface interativa do usuário. O padrão é FALSE. RAS define esse membro como TRUE sempre que o usuário sai da interface interativa do usuário do protocolo de autenticação.

pDataFromInteractiveUI

Ponteiro para os dados recebidos da interface interativa do usuário do protocolo de autenticação. Esse ponteiro não será NULL se o membro fDataReceivedFromInteractiveUI for TRUE e a interface interativa do usuário retornar dados. Caso contrário, esse ponteiro será NULL.

Se não for NULL, o protocolo de autenticação deverá fazer uma cópia dos dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada. Para liberar a memória, o RAS chama a função RasEapFreeMemory .

dwSizeOfDataFromInteractiveUI

Especifica o tamanho, em bytes, dos dados apontados por pDataFromInteractiveUI. Se nenhum dado for retornado da interface interativa do usuário, esse membro será zero.

pConnectionData

Ponteiro para os dados de conexão recebidos da interface do usuário de configuração do protocolo de autenticação. Esses dados só estão disponíveis quando a estrutura de PPP_EAP_INPUT é passada em RasEapBegin. Ele não está disponível em chamadas para RasEapMakeMessage.

O protocolo de autenticação deve fazer uma cópia desses dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada. Para liberar a memória, o RAS chama a função RasEapFreeMemory .

Se a interface do usuário de configuração do protocolo de autenticação não retornar dados, esse membro será NULL.

dwSizeOfConnectionData

Especifica o tamanho em bytes dos dados apontados por pConnectionData. Se pConnectionData for NULL, esse membro será zero.

pUserData

Ponteiro para os dados do usuário recebidos da função RasEapGetIdentity do protocolo de autenticação no computador cliente. Se o protocolo de autenticação não implementar RasEapGetIdentity, esse membro apontará para dados do registro para esse usuário.

Esses dados só estão disponíveis quando a estrutura de PPP_EAP_INPUT é passada em RasEapBegin. Ele não está disponível em chamadas para RasEapMakeMessage.

O protocolo de autenticação deve fazer uma cópia desses dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada.

Se a função RasEapGetIdentity não for implementada ou não tiver retornado nenhum dado e nenhum dado existir para o usuário no registro, esse membro será NULL.

dwSizeOfUserData

Especifica o tamanho, em bytes, dos dados apontados por pUserData. Se pUserData for NULL, esse membro será zero.

hReserved

Este membro é reservado.

guidConnectionId

isVpn

Comentários

A estrutura PPP_EAP_INPUT é passada pelo RAS para o protocolo de autenticação em chamadas para RasEapBegin e RasEapMakeMessage.

Os membros pwszIdentity e pwszPassword da estrutura PPP_EAP_INPUT são usados pela função RasEapBegin para obter informações do usuário. O membro pwszPassword será não NULL somente se o membro fAuthenticator for FALSE, ou seja, o protocolo de autenticação estiver em execução no computador cliente.

Se o protocolo de autenticação estiver usando um provedor de autenticação, como a autenticação de domínio Radius ou Windows 2000, os seguintes membros serão usados para fazer interface com o provedor de autenticação:

pUserAttributesfAuthenticationCompletedwAuthResultCode Observe que a matriz de estruturas de RAS_AUTH_ATTRIBUTE é passada somente se fAuthenticator for TRUE. Essa matriz contém informações de sessão atuais, como identificador de porta e endereço IP local.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho raseapif.h

Confira também

Estruturas do EAP

Referência de protocolo de autenticação extensível

RAS_AUTH_ATTRIBUTE

Raseapbegin

Raseapfreememory

Raseapgetidentity

Raseapmakemessage