Compartilhar via


LSA_AP_CALL_PACKAGE função de retorno de chamada (ntsecpkg.h)

Chamado pela LSA (Autoridade de Segurança Local ) quando um aplicativo de logon com uma conexão confiável com a LSA chama a função LsaCallAuthenticationPackage e especifica o identificador do pacote de autenticação.

LsaApCallPackage é chamado somente para aplicativos de logon; As chamadas de aplicativos que não têm o privilégio SeTcbPrivilege são roteadas para a função LsaApCallPackageUntrusted do pacote de autenticação especificada.

Sintaxe

LSA_AP_CALL_PACKAGE LsaApCallPackage;

NTSTATUS LsaApCallPackage(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  PVOID ProtocolSubmitBuffer,
  [in]  PVOID ClientBufferBase,
  [in]  ULONG SubmitBufferLength,
  [out] PVOID *ProtocolReturnBuffer,
  [out] PULONG ReturnBufferLength,
  [out] PNTSTATUS ProtocolStatus
)
{...}

Parâmetros

[in] ClientRequest

Ponteiro para um buffer de LSA_CLIENT_REQUEST opaco que representa a solicitação do cliente LSA.

[in] ProtocolSubmitBuffer

Fornece uma mensagem de protocolo específica para o pacote de autenticação.

[in] ClientBufferBase

Fornece o endereço dentro do processo do cliente da mensagem de protocolo. Isso pode ser necessário para remapear quaisquer ponteiros dentro do buffer ProtocolSubmitBuffer .

[in] SubmitBufferLength

Especifica o comprimento do buffer ProtocolSubmitBuffer , em bytes.

[out] ProtocolReturnBuffer

Retorna o endereço do buffer de saída dentro do processo do cliente. O pacote de autenticação é responsável por chamar a função AllocateClientBuffer para alocar o buffer dentro do processo do cliente. O conteúdo desse buffer é específico para o pacote de autenticação.

[out] ReturnBufferLength

Ponteiro para um ULONG que retorna o comprimento do buffer ProtocolReturnBuffer , em bytes.

[out] ProtocolStatus

Ponteiro para um valor NTSTATUS. Se a função retornar STATUS_SUCCESS, ProtocolStatus retornará uma conclusão status definida pelo pacote de autenticação. Os valores protocolStatus são específicos para o pacote de autenticação.

Mais informações sobre códigos NTSTATUS podem ser encontradas no arquivo Subauth.h fornecido com o SDK da Plataforma.

Valor retornado

Se a função for bem-sucedida, retorne STATUS_SUCCESS. Esse valor retornado indica que o pacote de autenticação tentou fornecer o serviço solicitado. Use o parâmetro ProtocolStatus para retornar o status de conclusão da solicitação de serviço.

Se o pacote de autenticação não pôde processar a solicitação e, portanto, não tentou fornecer o serviço solicitado, retorne um código NTSTATUS indicando o problema. Esse código pode ser o valor a seguir ou um dos valores retornados da função de política LSA.

Código de retorno Descrição
STATUS_NO_MEMORY
A cota de memória do cliente é insuficiente para alocar o buffer de saída.

Comentários

Essa função deve ser implementada por pacotes de autenticação.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ntsecpkg.h

Confira também

AllocateClientBuffer

LsaApCallPackageUntrusted

LsaCallAuthenticationPackage