Partager via


LSA_ALLOCATE_CLIENT_BUFFER fonction de rappel (ntsecpkg.h)

Alloue une mémoire tampon dans l’espace d’adressage du client. Les mémoires tampons allouées dans l’espace d’adressage du client sont utilisées pour stocker les informations retournées au client à partir d’un package d’authentification.

Syntaxe

LSA_ALLOCATE_CLIENT_BUFFER LsaAllocateClientBuffer;

NTSTATUS LsaAllocateClientBuffer(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  ULONG LengthRequired,
  [out] PVOID *ClientBaseAddress
)
{...}

Paramètres

[in] ClientRequest

Pointeur vers une structure de données opaque LSA_CLIENT_REQUEST qui contient des informations sur la demande d’authentification du client LSA. Un package d’authentification personnalisé doit passer la valeur reçue pendant l’appel du client à la fonction, telle que LsaApCallPackage ou LsaApLogonUser, qui retourne le paramètre de sortie.

[in] LengthRequired

Longueur de la mémoire tampon nécessaire, en octets.

[out] ClientBaseAddress

Pointeur qui reçoit l’adresse de la mémoire tampon. Cette adresse est l’adresse virtuelle de la mémoire tampon dans le processus client, et non dans le processus actuel.

Valeur retournée

Si la fonction réussit, la valeur de retour est STATUS_SUCCESS.

Si la fonction échoue, la valeur de retour est un code NTSTATUS, qui peut être la valeur suivante ou l’une des valeurs de retour de la fonction de stratégie LSA.

Code de retour Description
STATUS_NO_MEMORY
Le processus client ne dispose pas d’un quota de mémoire suffisant pour allouer la mémoire tampon.
 

La fonction LsaNtStatusToWinError convertit un code NTSTATUS en code d’erreur Windows.

Remarques

Le package d’authentification ou le processus client doit ensuite libérer la mémoire tampon. Le processus d’authentification peut libérer la mémoire tampon à l’aide de la routine de distribution FreeClientBuffer . Le processus client peut libérer la mémoire tampon à l’aide de la fonction LsaFreeReturnBuffer .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntsecpkg.h

Voir aussi

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE