Język

IHttpSysRequestPropertyFeature.TryGetRequestProperty Metoda

Definicja

Odczytuje dowolną wartość HTTP_REQUEST_PROPERTY z HTTP.SYS przy użyciu interfejsu API 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

Parametry

propertyId
Int32

Identyfikator HTTP_REQUEST_PROPERTY do wykonywania zapytań. Zestaw obsługiwanych wartości jest definiowany przez HTTP_REQUEST_PROPERTY wyliczenie w pliku http.h; obiekt wywołujący jest odpowiedzialny za analizowanie bajtów zwracanych przy output użyciu odpowiedniej natywnej struktury.

qualifier
ReadOnlySpan<Byte>

Opcjonalne bajty kwalifikatora specyficzne dla właściwości. Przekaż pusty zakres dla właściwości, które nie wymagają kwalifikatora; Zostanie on zamapowany na wskaźnik o wartości null podczas wywoływania bazowego interfejsu API.

output
Span<Byte>

Bufor docelowy, który odbiera wartość właściwości. Przekaż pusty zakres, aby wykonać zapytanie dotyczące wymaganego rozmiaru buforu za pomocą polecenia bytesReturned.

bytesReturned
Int32

Zwraca liczbę bajtów zapisanych w obiekcie output. Jeśli output wartość była zbyt mała (lub pusta), zwraca rozmiar buforu wymaganego do przechowywania wartości.

Zwraca

Wartość True, jeśli właściwość została pomyślnie odczytana w pliku output. Fałsz, jeśli output nie jest wystarczająco duży, aby pomieścić wartość; w tym przypadku bytesReturned zawiera wymagany rozmiar buforu. W przypadku dowolnego innego błędu zgłaszany jest wyjątek.

Wyjątki

Każdy błąd HttpSys z wyjątkiem ERROR_INSUFFICIENT_BUFFER lub ERROR_MORE_DATA.

Jeśli zainstalowana Windows interfejs API serwera HTTP nie obsługuje właściwości HttpQueryRequestProperty.

Uwagi

Jeśli wymagany rozmiar buforu nie jest znany z góry, najpierw wywołaj tę metodę z pustym output , aby pobrać wymagany rozmiar w bytesReturnedpliku , a następnie przydziel tę liczbę bajtów i ponów próbę wykonania zapytania.

Dotyczy