Langue

IHttpSysRequestPropertyFeature.TryGetRequestProperty Méthode

Définition

Lit une valeur de HTTP_REQUEST_PROPERTY arbitraire de HTTP.SYS à l’aide de l’API httpQueryRequestProperty Windows.

public virtual bool TryGetRequestProperty(int propertyId, ReadOnlySpan<byte> qualifier, Span<byte> output, out int bytesReturned);
abstract member TryGetRequestProperty : int * ReadOnlySpan<byte> * Span<byte> * int -> bool
override this.TryGetRequestProperty : int * ReadOnlySpan<byte> * Span<byte> * int -> bool
Public Overridable Function TryGetRequestProperty (propertyId As Integer, qualifier As ReadOnlySpan(Of Byte), output As Span(Of Byte), ByRef bytesReturned As Integer) As Boolean

Paramètres

propertyId
Int32

Identificateur HTTP_REQUEST_PROPERTY à interroger. L’ensemble de valeurs prises en charge est défini par l’énumération HTTP_REQUEST_PROPERTY dans http.h; l’appelant est chargé d’analyser les octets retournés à output l’aide du struct natif correspondant.

qualifier
ReadOnlySpan<Byte>

Octets de qualificateur spécifiques à la propriété facultatifs. Passez une étendue vide pour les propriétés qui ne nécessitent pas de qualificateur ; il est mappé à un pointeur Null lors de l’appel de l’API sous-jacente.

output
Span<Byte>

Mémoire tampon de destination qui reçoit la valeur de la propriété. Transmettez une étendue vide pour interroger la taille de mémoire tampon requise via bytesReturned.

bytesReturned
Int32

Retourne le nombre d’octets écrits dans output. Si output elle était trop petite (ou vide), retourne la taille de la mémoire tampon requise pour contenir la valeur.

Retours

True si la propriété a été correctement lue dans output. False s’il output n’est pas suffisamment grand pour contenir la valeur ; dans ce cas bytesReturned contient la taille de mémoire tampon requise. Pour toute autre défaillance, une exception est levée.

Exceptions

Toute erreur HttpSys à l’exception de ERROR_INSUFFICIENT_BUFFER ou de ERROR_MORE_DATA.

Si l’API de serveur HTTP installée Windows ne prend pas en charge HttpQueryRequestProperty.

Remarques

Si la taille de mémoire tampon requise n’est pas connue avant, appelez d’abord cette méthode avec une valeur vide output pour récupérer la taille requise, bytesReturnedpuis allouez ce nombre d’octets et réessayez la requête.

S’applique à