IHttpSysRequestPropertyFeature.TryGetRequestProperty Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Legge un valore HTTP_REQUEST_PROPERTY arbitrario da HTTP.SYS usando 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
Parametri
- propertyId
- Int32
Identificatore HTTP_REQUEST_PROPERTY da eseguire per la query. Il set di valori supportati è definito dall'enumerazione in http.h. Il chiamante è responsabile dell'analisi HTTP_REQUEST_PROPERTY dei byte restituiti in output usando lo struct nativo corrispondente.
- qualifier
- ReadOnlySpan<Byte>
Byte del qualificatore facoltativo specifico della proprietà. Passare un intervallo vuoto per le proprietà che non richiedono un qualificatore; verrà mappato a un puntatore Null quando si chiama l'API sottostante.
Buffer di destinazione che riceve il valore della proprietà. Passare un intervallo vuoto per eseguire una query sulle dimensioni del buffer necessarie tramite bytesReturned.
- bytesReturned
- Int32
Restituisce il numero di byte scritti in output.
Se output era troppo piccolo (o vuoto), restituisce le dimensioni del buffer necessario per contenere il valore.
Valori restituiti
True se la proprietà è stata letta correttamente in output.
False se output non è sufficientemente grande da contenere il valore; in questo caso bytesReturned contiene le dimensioni del buffer necessarie.
Per qualsiasi altro errore, viene generata un'eccezione.
Eccezioni
Qualsiasi errore HttpSys ad eccezione di ERROR_INSUFFICIENT_BUFFER o ERROR_MORE_DATA.
Se l'API server HTTP installata Windows non supporta HttpQueryRequestProperty.
Commenti
Se la dimensione del buffer richiesta non è nota in anticipo, chiamare prima di tutto questo metodo con un vuoto output per recuperare le dimensioni necessarie in bytesReturned, quindi allocare tale numero di byte e ripetere la query.