IHttpSysRequestPropertyFeature.TryGetRequestProperty Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Lee un valor de HTTP_REQUEST_PROPERTY arbitrario de HTTP.SYS mediante httpQueryRequestProperty Windows API.
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
Parámetros
- propertyId
- Int32
Identificador HTTP_REQUEST_PROPERTY que se va a consultar. El conjunto de valores admitidos se define mediante la HTTP_REQUEST_PROPERTY enumeración en http.h; el autor de la llamada es responsable de analizar los bytes devueltos mediante output la estructura nativa correspondiente.
- qualifier
- ReadOnlySpan<Byte>
Bytes de calificador específicos de propiedad opcionales. Pase un intervalo vacío para las propiedades que no requieren un calificador; se asignará a un puntero nulo al llamar a la API subyacente.
Búfer de destino que recibe el valor de propiedad. Pase un intervalo vacío para consultar el tamaño de búfer necesario a través de bytesReturned.
- bytesReturned
- Int32
Devuelve el número de bytes escritos en output.
Si output era demasiado pequeño (o vacío), devuelve el tamaño del búfer necesario para contener el valor.
Devoluciones
True si la propiedad se leyó correctamente en output.
False si output no es lo suficientemente grande como para contener el valor; en ese caso bytesReturned , contiene el tamaño de búfer necesario.
Para cualquier otro error, se produce una excepción.
Excepciones
Cualquier error de HttpSys excepto ERROR_INSUFFICIENT_BUFFER o ERROR_MORE_DATA.
Si la API de servidor HTTP instalada Windows no admite HttpQueryRequestProperty.
Comentarios
Si el tamaño de búfer necesario no se conoce por adelantado, primero llame a este método con un vacío output para recuperar el tamaño necesario en bytesReturned, asigne esos muchos bytes y vuelva a intentar la consulta.