CHttpServerContext::ServerSupportFunction

BOOL ServerSupportFunction (DWORD dwHSERRequest, elementem LPVOID lpvBuffer, LPDWORD lpdwSize, LPDWORD lpdwDataType );

Wartość zwracany

Niezerowa, jeśli kończy się pomyślnie, w przeciwnym razie 0.

Parametry

dwHSERRequest

Wartość rozszerzenia serwera HTTP. Zobacz sekcję Spostrzeżenia listę obsługiwanych wartości.

lpvBuffer

Gdy używana z HSE_REQ_SEND_RESPONSE_HEADER, wskazuje ciąg zerowy zakończonych nieobowiązkowego statusu (na przykład „401 Odmowa dostępu"). Jeśli bufor jest pusty, odpowiedź domyślna "200 OK" będą przesyłane przez tę funkcję. Gdy używana z HSE_REQ_DONE_WITH_SESSION, wskazuje DWORD wskazującą kod stanu żądania.

lpdwSize

Gdy używana z HSE_REQ_SEND_RESPONSE_HEADER, wskazuje rozmiar buforu lpdwDataType.

lpdwDataType

Gdy używana z HSE_REQ_SEND_RESPONSE_HEADER, to ciąg zakończony zerem, wskazując polecenie opcjonalne nagłówków lub dane mają być dołączane i wysyłane z nagłówkiem. Jeśli jest to wartość NULL, nagłówek zostanie zakończona przez parę "\r\n".

Uwaganbsp;  Funkcje ogólnego przeznaczenia powinny mieć wartość dwHSERequest większą niż HSE_REQ_E&ND_RESERVED. Wartości do HSE_REQ_END_RESERVED są zarezerwowane dla obowiązkowych ServerSupportFunctions i nie powinny być używane.

Uwagi

Wywołanie tej funkcji członek ISA z niektórych funkcji ogólnego przeznaczenia, jak również funkcje, które są specyficzne dla implementacji serwera HTTP.

Wartość rozszerzeń serwera HTTP, reprezentowanej przez dwHSERRequest może być jedną z następujących czynności:

HSE_REQ_SEND_URL_REDIRECT_RESP

Wysyła 302 ( URL Redirec t) wiadomości do klienta. Żadne dalsze przetwarzanie jest konieczne po wywołanie. Ta operacja jest podobne do określania "identyfikator URI: lt;Adres URL > "w nagłówku skryptów CGI. Zmiennej lpvBuffer należy punkt zerowy ciąg adresu URL zakończonych. Zmiennej lpdwSize powinna mieć rozmiar lpvBuffer. Zmienna lpdwDataType jest ignorowane.

HSE_REQ_SEND_URL

Wysyła dane określonego przez adres URL do klienta, jakby zwróciła się klient ten adres URL. Null zakończone wskazywanego przez adres URL lpvBuffer musi znajdować się na serwerze i nie muszą określać informacje o protokole (czyli musi rozpoczynać '/'). Żadne dalsze przetwarzanie jest wymagana po tego wywołania. Zmiennej lpdwSize wskazuje DWORD gospodarstwa rozmiar lpvBuffer. Zmienna lpdwDataType jest ignorowane.

HSE_REQ_SEND_RESPONSE_HEADER

Wysyła pełną HTTP nagłówka odpowiedzi serwera stanu, wersja serwera, godzina wiadomości i wersji MIME. Rozszerzenia serwera lub ISA należy dołączyć inne nagłówki HTTP na końcu takich jak Content-Type, Content-Length i tak dalej, a następnie przez dodatkowy "\r\n".

HSE_REQ_DONE_WITH_SESSION

Jeśli rozszerzenie programu ISA lub serwer chce wstrzymany na sesji, ponieważ ma on przedłużony wymagań w zakresie przetwarzania, należy stwierdzić serwera podczas sesji zostanie zakończone, więc serwer można je zamknąć i wolne pokrewnych struktur. Zmienne lpvBuffer, lpdwSizei lpdwDataType są wszystkie ignorowane.

HSE_REQ_END_RESERVED

Funkcje wyższa od tej wartości są serwera szczególnych i mogą nie być dostępne na wszystkich serwerach sieci web, które obsługują ISAPI.

HSE_REQ_MAP_URL_TO_PATH

Parametr lpvBuffer jest wskaźnik do buforu, który zawiera ścieżki logicznej na wejściu i ścieżki fizycznej na wyjście. Parametr lpdwSize jest wskaźnik DWORD zawierająca rozmiar buforu przekazany w lpvBuffer na wejściu i liczba bajtów umieszczonych w buforze na wyjście. Parametr lpdwDataType jest ignorowany). Rozszerzenia specyficzne dla firmy Microsoft.

HSE_REQ_GET_SSPI_INFO

LpvBuffer jest wypełniane dojście do kontekstu i * lpdwDataType jest wypełniane uchwytu poświadczenia. Dojście kontekstu określa typ wskaźnika lub identyfikator typu. Określa uchwytu poświadczenia uwierzytelniania i autoryzacji.

UDOSTĘPNIONEJ PRZEZ HSE_REQ_TRANSMIT_FILE

Zobacz TransmitFile łatwiejsza metoda przekazywania pliku do żądającego.

Uwaga   Serwer nie gwarantuje, że bufory są duże, wystarczająco, zanim wypełnianie uchwytów i lpdwSize nie jest aktualizowany odzwierciedlają wielkość dane skopiowane do buforu lpvBuffer . Ponieważ są one ustalone rozmiar struktury, zakłada się wskaźniki przekazany są wskaźniki do struktury i musi być przynajmniej tak duży, jak struktury żądania.

Omówienie CHttpServerContext |nbsp; Klasa członków | Wykres hierarchii

Zobacz też

CHttpFilterContext::ServerSupportFunction, CHttpServerContext::TransmitFile

Index