Language

IHttpSysRequestPropertyFeature.TryGetRequestProperty メソッド

定義

HttpQueryRequestProperty Windows API を使用して、HTTP.SYSから任意のHTTP_REQUEST_PROPERTY値を読み取ります。

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

パラメーター

propertyId
Int32

クエリを実行するHTTP_REQUEST_PROPERTY識別子。 サポートされている値のセットは、http.hのHTTP_REQUEST_PROPERTY列挙型によって定義されます。呼び出し元は、対応するネイティブ構造体を使用してoutputで返されるバイトを解析します。

qualifier
ReadOnlySpan<Byte>

省略可能なプロパティ固有の修飾子バイト。 修飾子を必要としないプロパティに空のスパンを渡します。基になる API を呼び出すと、null ポインターにマップされます。

output
Span<Byte>

プロパティ値を受け取る宛先バッファー。 空のスパンを渡して、 bytesReturned経由で必要なバッファー サイズを照会します。

bytesReturned
Int32

outputに書き込まれたバイト数を返します。 outputが小さすぎる (または空) 場合は、値を保持するために必要なバッファーのサイズを返します。

返品

プロパティが正常に outputに読み込まれた場合は true。 false output が値を保持するのに十分な大きさでない場合。その場合、 bytesReturned には必要なバッファー サイズが含まれます。 その他のエラーの場合は、例外がスローされます。

例外

ERROR_INSUFFICIENT_BUFFERまたはERROR_MORE_DATAを除く HttpSys エラー。

インストールされているWindows HTTP Server API が HttpQueryRequestProperty をサポートしていない場合。

注釈

必要なバッファー サイズが前もってわかっていない場合は、最初に空の output を使用してこのメソッドを呼び出して bytesReturnedで必要なサイズを取得し、そのバイト数を割り当ててクエリを再試行します。

適用対象