IHttpSysRequestPropertyFeature.TryGetRequestProperty Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
HttpQueryRequestProperty Windows API'sini kullanarak HTTP.SYS rastgele bir HTTP_REQUEST_PROPERTY değeri okur.
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
Parametreler
- propertyId
- Int32
Sorguya HTTP_REQUEST_PROPERTY tanımlayıcı. Desteklenen değerler kümesi içindeki http.hsabit listesi tarafından HTTP_REQUEST_PROPERTY tanımlanır; çağıran, karşılık gelen yerel yapıyı kullanarak döndürülen output baytları ayrıştırmaktan sorumludur.
- qualifier
- ReadOnlySpan<Byte>
İsteğe bağlı özelliğe özgü niteleyici baytları. Niteleyici gerektirmeyen özellikler için boş bir span geçirme; temel alınan API çağrılırken null işaretçiyle eşlenir.
Özellik değerini alan hedef arabellek. aracılığıyla gerekli arabellek boyutunu sorgulamak için boş bir aralık geçirin bytesReturned.
- bytesReturned
- Int32
öğesine yazılan outputbayt sayısını döndürür.
Çok küçükse (veya boşsa output ), değeri tutmak için gereken arabellek boyutunu döndürür.
Döndürülenler
Özelliği başarıyla olarak outputokunduysa true olur.
False değeri tutacak kadar büyük değilse output , bu durumda bytesReturned gerekli arabellek boyutunu içerir.
Diğer tüm hatalar için bir özel durum oluşturulur.
Özel durumlar
ERROR_INSUFFICIENT_BUFFER veya ERROR_MORE_DATA dışında herhangi bir HttpSys hatası.
Yüklenen Windows HTTP Server API'si HttpQueryRequestProperty'yi desteklemiyorsa.
Açıklamalar
Gerekli arabellek boyutu önceden bilinmiyorsa, önce içinde gerekli boyutu bytesReturnedalmak için bu yöntemi boş output olarak çağırın, ardından bu kadar bayt ayırıp sorguyu yeniden deneyin.