estrutura RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)
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 |