CHttpServerContext::ServerSupportFunction

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

Значення, яке повертається

Ненульовий, у разі успіху, в іншому випадку 0.

Параметри

dwHSERRequest

Значення розширення HTTP-сервер. Перегляньте зауваження розділі список підтримуваних значень.

lpvBuffer

Під час використання з HSE_REQ_SEND_RESPONSE_HEADER, це вказує на null припинено Факультативний стану рядок (наприклад, "401 доступ доступі»). Якщо цей буфер null, за промовчанням відповідь "200 ОК" буде надіслано на цю функцію. Під час використання з HSE_REQ_DONE_WITH_SESSION, це вказує на DWORD із зазначенням код стану запиту.

lpdwSize

Під час використання з HSE_REQ_SEND_RESPONSE_HEADER, це вказує на розмір буфера lpdwDataType.

lpdwDataType

Під час використання з HSE_REQ_SEND_RESPONSE_HEADER, це нульовим закінченням, вказуючи на додаткові заголовки або дані, щоб бути включені і послав з верхнього колонтитула. Якщо це значення NULL, заголовку буде припинено на пару "\r\n".

Приміткаnbsp;  Загальні функції повинна мати значення dwHSERequest перевищує HSE_REQ_E&ND_RESERVED. Значення до HSE_REQ_END_RESERVED зарезервовані для обов'язкового ServerSupportFunctions і не повинна використовуватися.

Зауваження

Цей член функцію, щоб надати ISA деякі функції загального призначення, а також функції, які є специфічними для впровадження HTTP-сервер.

HTTP-сервер розширення значення dwHSERRequest може бути однією з таких:

HSE_REQ_SEND_URL_REDIRECT_RESP

Відсилає на 302 ( URL Redirec t) повідомлення клієнта. Ні подальшої обробки необхідно після дзвінка. Ця операція схожа на визначення "URI: lt;URL-адреса > "у заголовку сценарію CGI. Змінна lpvBuffer повинен вказувати значення null припинено URL рядок. Змінна lpdwSize повинен мати розмір lpvBuffer. Змінна lpdwDataType ігнорується.

HSE_REQ_SEND_URL

Надсилання даних, указаних URL-адресу, щоб клієнт, як, якщо клієнт просив, що URL. На Null припинено URL-адресу вказав на lpvBuffer має бути на сервері а не потрібно вказати дані про протокол (тобто повинна починатись з на '/ '). Ні подальшої обробки необхідна після цього виклику. Змінна lpdwSize вказує на DWORD проведення розмір lpvBuffer. Змінна lpdwDataType ігнорується.

HSE_REQ_SEND_RESPONSE_HEADER

Надсилання повний HTTP сервер відповідь заголовок включаючи статус, Версія сервера, повідомлення час і MIME версії. Розширення ISA або сервера слід додати інші заголовків HTTP в кінці, наприклад, тип вмісту, контент-довжина і так далі, після чого додаткові "\r\n".

HSE_REQ_DONE_WITH_SESSION

Якщо розширення ISA або сервер хоче провести на сесії, оскільки він розширив вимог до обробки, він повинен дізнатися сервер, коли закінчив сесії, так що сервер може закрити його і безкоштовні подібні структури. Змінні lpvBuffer, lpdwSizeі lpdwDataType всі ігноруються.

HSE_REQ_END_RESERVED

Функції, що вище, ніж це значення є конкретний сервер і доступний не на всіх веб-серверів, які підтримують ISAPI.

HSE_REQ_MAP_URL_TO_PATH

LpvBuffer параметр — це вказівник на буфер, який містить логічний контур на запис та фізичні шлях на виході. LpdwSize параметр є вказівник на DWORD , яке містить розмір буфера в lpvBuffer пройшов на запис, і кількість байтів, поміщені в буфер на виході. LpdwDataType параметра ігнорується). Microsoft конкретних розширення.

HSE_REQ_GET_SSPI_INFO

LpvBuffer записується дескриптор контексту і * lpdwDataType записується обробник облікових даних. Дескриптор контексту визначає тип вказівника або ідентифікатор типу. Обробник облікових даних визначає автентифікації та авторизації.

HSE_REQ_TRANSMIT_FILE

Див TransmitFile для більш простий спосіб передачі файлу до до замовника.

Примітка   Сервер не забезпечує великих буферів є досить перед заповнення ручками і lpdwSize не оновлюється, щоб відображати кількість даних, скопійований в буфер lpvBuffer . Оскільки ці є фіксований розмір структури, передбачається покажчиків, що пройшов у вказівники структуру і повинен бути принаймні як запит структур.

Огляд CHttpServerContext |nbsp; Члени класу | Ієрархічна діаграма

Дивіться також

CHttpFilterContext::ServerSupportFunction, CHttpServerContext::TransmitFile

Index