CHttpServerContext::ServerSupportFunction

BOOL ServerSupportFunction (DWORD DwHSERRequest, LPVOID LpvBuffer, LPDWORD LpdwSize, LPDWORD LpdwDataType );

Rückgabewert

Ungleich NULL, wenn erfolgreich, andernfalls 0.

Parameter

dwHSERRequest

Ein HTTP-Server-Erweiterung-Wert. Finden Sie unter im Abschnitt Hinweise für eine Liste der unterstützten Werte.

lpvBuffer

Bei Verwendung mit HSE_REQ_SEND_RESPONSE_HEADERverweist auf eine Statuszeichenfolge null beendet optional (z. B. "401 Zugriff verweigert"). Wenn dieser Puffer ist null, eine Standardantwort von "200 OK" wird von dieser Funktion gesendet werden. Wenn mit HSE_REQ_DONE_WITH_SESSIONverwendet wird, verweist es auf ein DWORD , die den Statuscode der Anforderung angibt.

lpdwSize

Mit HSE_REQ_SEND_RESPONSE_HEADERverwendet, verweist es auf die Größe der Puffer lpdwDataType.

lpdwDataType

Mit HSE_REQ_SEND_RESPONSE_HEADERverwendet, ist dies eine Null-terminierte Zeichenfolge auf optionalen Header oder Daten angehängt und mit dem Header gesendet werden. Wenn diese NULList, wird der Header von ein paar "\r\n" beendet.

Hinweis&Nbsp;  Allzweck-Funktionen sollten einen DwHSERequest -Wert größer als HSE_REQ_END_RESERVEDhaben. Werte bis zu HSE_REQ_END_RESERVED sind für die obligatorische ServerSupportFunctions reserviert und sollte nicht verwendet werden.

Bemerkungen

Rufen Sie diese Memberfunktion um die ISA bieten einige allgemeine Funktionen sowie Funktionen, die für HTTP-Server-Implementierung spezifisch sind.

Der durch DwHSERRequest dargestellte HTTP Server Extension-Wert kann eine der folgenden:

HSE_REQ_SEND_URL_REDIRECT_RESP

Sendet ein 302 ( URL Redirec t) Meldung an den Client. Nach dem Aufruf ist keine weitere Verarbeitung erforderlich. Dieser Vorgang ähnelt dem angeben "URI: Lt;URL > "in einem CGI-Skript-Header. Die Variable LpvBuffer sollte auf eine null beendete Zeichenfolge URL verweisen. Variable LpdwSize sollte die Größe des LpvBufferhaben. Variable LpdwDataType wird ignoriert.

HSE_REQ_SEND_URL

Sendet die Daten von der URL an den Client angegeben werden, als ob der Client angefragt hatte, die URL. Der Null-terminierte URL, auf den LpvBuffer müssen auf dem Server sein und darf keinen Protokollinformationen angeben (d. h. er muss beginnen mit einer '/'). Keine weitere Verarbeitung ist erforderlich nach diesem Aufruf. Variable LpdwSize verweist auf ein DWORD , die Größe des LpvBufferhalten. Variable LpdwDataType wird ignoriert.

HSE_REQ_SEND_RESPONSE_HEADER

Sendet eine vollständige HTTP-Server-Antwort-Header einschließlich Status, Server-Version, Nachrichtzeit und MIME-Version. Die ISA oder Server Erweiterung sollten andere HTTP-Header anfügen am Ende wie z. B. Content-Type, Content-Length, und So weiter, gefolgt von Extra "\r\n".

HSE_REQ_DONE_WITH_SESSION

Will die ISA oder Server Erweiterung der Sitzung festhalten, weil es Verarbeitungsanforderungen erweitert hat, muss dem Server mitzuteilen, wenn die Sitzung beendet ist, damit der Server schließen und verwandten Strukturen frei. Variablen LpvBuffer, LpdwSizeund LpdwDataType werden alle ignoriert.

HSE_REQ_END_RESERVED

Funktionen höher als dieser Wert sind bestimmte Server und möglicherweise nicht auf allen Webservern, die ISAPI-Unterstützung verfügbar.

HSE_REQ_MAP_URL_TO_PATH

Der LpvBuffer -Parameter ist ein Zeiger auf den Puffer, der logische Pfad bei der Einreise und der physikalische Pfad auf Ausfahrt enthält. Der LpdwSize -Parameter ist ein Zeiger auf das DWORD , die die Größe des Puffers in LpvBuffer Eintrag weitergegeben, und die Anzahl der Bytes in den Puffer Ausfahrt platziert. Der LpdwDataType -Parameter wird ignoriert). Eine Microsoft-spezifische Erweiterung.

HSE_REQ_GET_SSPI_INFO

Die LpvBuffer wird mit dem Handle für einen Gerätekontext gefüllt und * LpdwDataType mit der Anmeldeinformationshandle gefüllt ist. Ein Handle für einen Gerätekontext gibt einen Zeigertyp oder ein Typenbezeichner. Ein Anmeldeinformationshandle für angibt, Authentifizierung und Autorisierung.

HSE_REQ_TRANSMIT_FILE

Eine einfachere Methode der Übertragung einer Datei an ein Anforderer finden Sie TransmitFile.

Hinweis&Nbsp;  Der Server wird nicht sichergestellt, dass der Puffer groß genug vor dem Ausfüllen die Griffe und LpdwSize nicht aktualisiert wird, entsprechend die Menge der Daten in der LpvBuffer -Puffer kopiert. Da diese Größe Strukturen behoben werden, wird davon ausgegangen, die Zeiger übergebenen sind Zeiger auf die Struktur und müssen mindestens so groß wie die Anfrage-Strukturen.

CHttpServerContext Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch

CHttpFilterContext::ServerSupportFunction, CHttpServerContext::TransmitFile

Index