Unit IsapiVars

*****************************************************} { } { Delphi ISAPI Interface } { Version 1.0 HTTP Server Extension interface. } { } { Copyright (c) 1996 Borland International } { } {

Classes

Functions

Types

HCONN
PECB
PVerInfo
TECB
TGetServerVariableProc
TReadClientProc
TServerSupportFunctionProc
TVerInfo
TWriteClientProc

Constants

HSE_LOG_BUFFER_LEN
HSE_MAX_EXT_DLL_NAME_LEN
HSE_REQ_BASE
HSE_REQ_DONE_WITH_SESSION
HSE_REQ_END_RESERVED
HSE_REQ_GET_SSPI_INFO
HSE_REQ_MAP_URL_TO_PATH
HSE_REQ_SEND_RESPONSE_HEADER
HSE_REQ_SEND_URL
HSE_REQ_SEND_URL_REDIRECT_RESP
HSE_STATUS_ERROR
HSE_STATUS_PENDING
HSE_STATUS_SUCCESS
HSE_STATUS_SUCCESS_AND_KEEP_CONN
HSE_VERSION_MAJOR
HSE_VERSION_MINOR

Variables


Functions


Types


HCONN = THandle

PECB = ^TECB
passed to extension procedure on a new request //
PVerInfo = ^TVerInfo
passed to GetExtensionVersion //
TECB = record
cbSize : DWORD;
dwVersion : DWORD;
ConnID : HCONN;
dwHttpStatusCode : DWORD;
lpszLogData : ARRAY [0..HSE_LOG_BUFFER_LEN-1] OF Char;
lpszMethod : PChar;
lpszQueryString : PChar;
lpszPathInfo : PChar;
lpszPathTranslated : PChar;
cbTotalBytes : DWORD;
cbAvailable : DWORD;
lpbData : POINTER;
lpszContentType : PChar;
GetServerVariable : TGetServerVariableProc;
WriteClient : TWriteClientProc;
ReadClient : TReadClientProc;
ServerSupportFunction : TServerSupportFunctionProc;
end;

TGetServerVariableProc = FUNCTION ( ConnID:       HCONN;
                                      VariableName: PCHAR;
				      Buffer:       POINTER;
                                      Size:         POINTER ): BOOL STDCALL

TReadClientProc  = FUNCTION ( ConnID: HCONN;
                                Buffer: POINTER;
                                Size:   POINTER): BOOL STDCALL

TServerSupportFunctionProc = FUNCTION ( ConnID:      HCONN;
                                          HSERRequest: DWORD;
                                          Buffer:      POINTER;
                                          Size :       POINTER;
                                          DataType:    POINTER): BOOL STDCALL

TVerInfo = record
ExtensionVersion : DWORD;
ExtensionDesc : ARRAY [0..HSE_MAX_EXT_DLL_NAME_LEN-1] OF Char;
end;

TWriteClientProc = FUNCTION ( ConnID:     HCONN;
                                Buffer:     POINTER;
                                Bytes:      POINTER;
                                dwReserved: DWORD ): BOOL STDCALL

Constants

HSE_LOG_BUFFER_LEN = 80

minor version of this spec

HSE_MAX_EXT_DLL_NAME_LEN = 256

HSE_REQ_BASE = 0

The following are the values to request services with the ServerSupportFunction. Values from 0 to 1000 are reserved for future versions of the interface

HSE_REQ_DONE_WITH_SESSION = ( HSE_REQ_BASE + 4 )

HSE_REQ_END_RESERVED = 1000

HSE_REQ_GET_SSPI_INFO = (HSE_REQ_END_RESERVED+2)

HSE_REQ_MAP_URL_TO_PATH = (HSE_REQ_END_RESERVED+1)

These are Microsoft specific extensions //

HSE_REQ_SEND_RESPONSE_HEADER = ( HSE_REQ_BASE + 3 )

HSE_REQ_SEND_URL = ( HSE_REQ_BASE + 2 )

HSE_REQ_SEND_URL_REDIRECT_RESP = ( HSE_REQ_BASE + 1 )

HSE_STATUS_ERROR = 4

HSE_STATUS_PENDING = 3

HSE_STATUS_SUCCESS = 1

the following are the status codes returned by the Extension DLL

HSE_STATUS_SUCCESS_AND_KEEP_CONN = 2

HSE_VERSION_MAJOR = 1

HSE_VERSION_MINOR = 0

major version of this spec

Variables