Microsoft Windows CE 3.0  

EXTENSION_CONTROL_BLOCK

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This structure is used by the Web server and the extension to exchange information.

typedef struct _EXTENSION_CONTROL_BLOCK { DWORD
cbSize; // Size of this structure. 
DWORD
dwVersion; // Version info of this specification. 
HCONN
ConnID; // Context number not to be modified! 
DWORD
dwHttpStatusCode; // HTTP Status code. 
CHAR
lpszLogData[HSE_LOG_BUFFER_LEN]; // Null-terminated log
info. 
LPSTR
lpszMethod; // REQUEST_METHOD 
LPSTR
lpszQueryString; // QUERY_STRING 
LPSTR
lpszPathInfo; // PATH_INFO 
LPSTR
lpszPathTranslated; // PATH_TRANSLATED 
DWORD
cbTotalBytes; // Total bytes indicated from client. 
DWORD
cbAvailable; // Available number of bytes. 
LPBYTE 
lpbData; // Pointer to cbAvailable bytes. 
LPSTR
lpszContentType; // Content type of client data. 
BOOL(WINAPI * GetServerVariable); 
BOOL(WINAPI * WriteClient); 
BOOL(WINAPI * ReadClient); 
BOOL(WINAPI * ServerSupportFunction); 
} EXTENSION_CONTROL_BLOCK;

Members

cbSize
The size of this structure.
dwVersion
The version information of this specification. The HIWORD has the major version number and the LOWORD has the minor version number.
connID
A unique number assigned by the Web server; this number should not be modified.
dwHttpStatusCode
The status of the current transaction when the request is completed. The Windows CE Web server sets this variable to 200, and ignores any changes an ISAPI extension may make to this variable
lpszLogData
Buffer of size HSE_LOG_BUFFER_LEN. Contains a null-terminated log information string, specific to the ISAPI extension, for the current transaction. This log information will be entered into the Web server log. Maintaining a single log file with both Web server and ISAPI extension transactions is useful for administration purposes.
lpszMethod
The HTTP method with which the request was made, for example, GET or POST. This is equivalent to the CGI variable REQUEST_METHOD.
lpszQueryString
A null-terminated string that contains the query information. This is the part of the URL string that appears after the question mark (?). This is equivalent to the CGI variable QUERY_STRING.
lpszPathInfo
A null-terminated string that contains extra path information given by the client. This is the part of the string that appears between the DLL or script name in the URL and the question mark (?). The value is equivalent to the CGI variable PATH_INFO.
lpszPathTranslated
A null-terminated string that contains the translated path. This is equivalent to the CGI variable PATH_TRANSLATED.
cbTotalBytes
This variable is not supported in the Windows CE Web server.
cbAvailable
This variable is not supported in the Windows CE Web server.
lpbData
Points to a buffer of size cbAvailablethat has the data sent by the client.
lpszContentType
A null-terminated string containing the content type of the data sent by the client. This is equivalent to the CGI variable CONTENT_TYPE.
GetServerVariable
Retrieves information about a connection or about the Web server itself.
WriteClient
Sends the data present in the given buffer to the client that made the request.
ReadClient
Reads data from the body of the client's HTTP request.
ServerSupportFunction
Returns data for several auxiliary functions not covered by other callback functions.

Remarks

The default value for the UploadReadAheadSizeproperty is 48 KB; however, it can be set to any size in the range of 0 bytes to 4 GB. This value can be changed in the HKLM\COMM\HTTPD\PostReadSize registry key.

Requirements

Runs On Versions Defined in Include Link to
Windows CE OS 3.0 and later httpext.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.