언어

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 값을 보유하는 데 필요한 버퍼의 크기를 반환합니다.

반품

속성이 성공적으로 읽혀진 경우 True입니다 output. 값을 보유할 만큼 충분히 크지 않은 경우 output False입니다. 이 경우 bytesReturned 필요한 버퍼 크기가 포함됩니다. 다른 오류의 경우 예외가 throw됩니다.

예외

ERROR_INSUFFICIENT_BUFFER 또는 ERROR_MORE_DATA 제외한 모든 HttpSys 오류입니다.

설치된 Windows HTTP Server API가 HttpQueryRequestProperty를 지원하지 않는 경우

설명

필요한 버퍼 크기를 미리 알 수 없는 경우 먼저 빈 output 메서드를 호출하여 필요한 크기를 bytesReturned검색한 다음, 많은 바이트를 할당하고 쿼리를 다시 시도합니다.

적용 대상