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