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 OK" будет направлен к этой функции. При использовании с HSE_REQ_DONE_WITH_SESSION, он указывает на DWORD , указывающее код состояния запроса.

lpdwSize

При использовании с HSE_REQ_SEND_RESPONSE_HEADER, он указывает размер буфера lpdwDataType.

lpdwDataType

При использовании с HSE_REQ_SEND_RESPONSE_HEADER, это значением null строку, указывая на необязательные заголовки или данных в приложении и отправлены с заголовком. Если оно является 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 т) сообщение клиенту. Нет дальнейшей обработки необходима после вызова. Эта операция схожа с указанием "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 в конце такие как Content-Type, Content-Length и так далее, а затем дополнительно "\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 принят на въезд и помещены на число байтов в буфере buffer на выходе. LpdwDataType параметр игнорируется). Расширение корпорации Майкрософт.

HSE_REQ_GET_SSPI_INFO

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

HSE_REQ_TRANSMIT_FILE

Увидеть TransmitFile для более простой метод передачи файла инициатор запроса.

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

Обзор CHttpServerContext |nbsp; Члены класса | Иерархическая схема

Родственные слова

CHttpFilterContext::ServerSupportFunction, CHttpServerContext::TransmitFile

Index