IHttpSysRequestPropertyFeature.TryGetRequestProperty Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Lê um valor HTTP_REQUEST_PROPERTY arbitrário de HTTP.SYS usando a API de Windows HttpQueryRequestProperty.
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
O HTTP_REQUEST_PROPERTY identificador a ser consultado. O conjunto de valores com suporte é definido pela HTTP_REQUEST_PROPERTY enumeração em http.h; o chamador é responsável por analisar os bytes retornados output usando o struct nativo correspondente.
- qualifier
- ReadOnlySpan<Byte>
Bytes de qualificador específicos da propriedade opcional. Passe um intervalo vazio para propriedades que não exigem um qualificador; ele será mapeado para um ponteiro nulo ao chamar a API subjacente.
Buffer de destino que recebe o valor da propriedade. Passe um intervalo vazio para consultar o tamanho do buffer necessário por meio de bytesReturned.
- bytesReturned
- Int32
Retorna o número de bytes gravados em output.
Se output for muito pequeno (ou vazio), retornará o tamanho do buffer necessário para manter o valor.
Retornos
True se a propriedade foi lida outputcom êxito.
False se output não for grande o suficiente para manter o valor; nesse caso bytesReturned , contém o tamanho do buffer necessário.
Para qualquer outra falha, uma exceção é gerada.
Exceções
Qualquer erro httpSys, exceto ERROR_INSUFFICIENT_BUFFER ou ERROR_MORE_DATA.
Se a API do servidor HTTP Windows instalada não oferecer suporte a HttpQueryRequestProperty.
Comentários
Se o tamanho do buffer necessário não for conhecido antecipadamente, primeiro chame esse método com um vazio output para recuperar o tamanho necessário e, em bytesReturnedseguida, aloque muitos bytes e tente novamente a consulta.