Compartilhar via


estrutura RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)

Nota O IAS (Serviço de Autenticação da Internet) foi renomeado como NPS (Servidor de Política de Rede) a partir do Windows Server 2008. O conteúdo deste tópico se aplica ao IAS e ao NPS. Em todo o texto, o NPS é usado para se referir a todas as versões do serviço, incluindo as versões originalmente conhecidas como IAS.
 
A estrutura RADIUS_EXTENSION_CONTROL_BLOCK fornece informações sobre a solicitação RADIUS atual. Ele também fornece funções para obter os atributos associados à solicitação e para definir a disposição da solicitação.

Sintaxe

typedef struct _RADIUS_EXTENSION_CONTROL_BLOCK {
  DWORD                    cbSize;
  DWORD                    dwVersion;
  RADIUS_EXTENSION_POINT   repPoint;
  RADIUS_CODE              rcRequestType;
  RADIUS_CODE              rcResponseType;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This) * GetRequest;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType) * GetResponse;
  DWORD()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType)                   * SetResponseType;
} RADIUS_EXTENSION_CONTROL_BLOCK, *PRADIUS_EXTENSION_CONTROL_BLOCK;

Membros

cbSize

Especifica o tamanho da estrutura.

dwVersion

Especifica a versão da estrutura.

repPoint

Especifica um valor do tipo RADIUS_EXTENSION_POINT que indica em que ponto no processo de solicitação RadiusExtensionProcess2 foi chamado.

rcRequestType

Especifica um valor do tipo RADIUS_CODE que especifica o tipo de solicitação RADIUS recebida pelo servidor do Serviço de Autenticação da Internet.

rcResponseType

Especifica um valor do tipo RADIUS_CODE que indica a disposição da solicitação RADIUS.

GetRequest

Ponteiro para a função GetRequest fornecida pelo NPS. O NPS define o valor desse membro.

A função GetRequest retorna os atributos recebidos no processo de solicitação RADIUS e quaisquer atributos internos que descrevam o estado da solicitação.

A DLL de extensão pode modificar os atributos na solicitação RADIUS. Por exemplo, se o NPS estiver agindo como um proxy RADIUS, uma DLL de extensão poderá filtrar quais atributos são encaminhados para o servidor RADIUS remoto.

Para modificar os atributos, a DLL de extensão usa as funções fornecidas como membros da estrutura RADIUS_ATTRIBUTE_ARRAY .

Esse

Ponteiro para uma estrutura RADIUS_EXTENSION_CONTROL_BLOCK . O NPS passa à DLL de extensão um ponteiro para essa estrutura quando chama a estrutura RadiusExtensionProcess2 .

GetResponse

Ponteiro para a função GetResponse fornecida pelo NPS. O NPS define o valor desse membro.

A função GetRequest retorna os atributos recebidos no processo de solicitação RADIUS e quaisquer atributos internos que descrevam o estado da solicitação.

Uma DLL de extensão pode usar GetResponse para recuperar e modificar os atributos para qualquer tipo de resposta válido, independentemente da disposição atual da solicitação. Por exemplo, uma DLL de extensão pode definir o tipo de resposta como rcAccessAccept, mas ainda adicionar atributos àqueles retornados no caso de um rcAccessReject. A resposta especificada pela DLL de extensão (rcAccessAccept neste exemplo) pode ser substituída durante o processamento adicional.

Para modificar os atributos, a DLL de extensão usa as funções fornecidas como membros da estrutura RADIUS_ATTRIBUTE_ARRAY .

Esse

Ponteiro para uma estrutura RADIUS_EXTENSION_CONTROL_BLOCK . O NPS passa a DLL de extensão um ponteiro para essa estrutura quando chama a função RadiusExtensionProcess2 .

rcResponseType

Especifica o tipo de resposta. Esse parâmetro deve ser um dos valores enumerados pelo tipo de enumeração RADIUS_CODE . Caso contrário, a função falhará, retornando NULL.

SetResponseType

Ponteiro para a função SetResponseType fornecida pelo NPS. O NPS define o valor desse membro.

A função SetResponseType define a disposição final da solicitação.

Observe que a disposição definida pela DLL de extensão pode ser substituída durante o processamento adicional. Por exemplo, a DLL de extensão pode definir o tipo de resposta como rcAccessAccept, mas durante o processamento adicional, a resposta pode ser alterada para rcAccessReject.

Esse

Ponteiro para uma estrutura RADIUS_EXTENSION_CONTROL_BLOCK . O NPS passa a DLL de extensão um ponteiro para essa estrutura quando chama a função RadiusExtensionProcess2 .

rcResponseType

Especifica o tipo de resposta. Esse parâmetro deve ser um dos valores contidos no RADIUS_CODE tipo enumerado e está relacionado ao membro rcRequestType da estrutura RADIUS_EXTENSION_CONTROL_BLOCK . Se rcRequestType for igual a rcAccessRequest, esse valor poderá ser rcAccessAccept, rcAccessReject, rcAccessChallenge ou rcDiscard. Se rcRequestType for igual a rcAccountingRequest, esse valor poderá ser rcAccountingResponse ou rcDiscard. Caso contrário, a função falhará, retornando ERROR_INVALID_PARAMETER.

Comentários

A DLL de extensão não deve modificar essa estrutura. As alterações na matriz de atributos devem ser feitas chamando as funções fornecidas como membros dessa estrutura.

O NPS passa essa estrutura para a DLL de extensão quando chama a implementação da DLL de extensão radiusExtensionProcess2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2008
Cabeçalho authif.h

Confira também

Getrequest

Getresponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType