EXTENSION_CONTROL_BLOCK Structure
This structure is used by IIS and the ISAPI extension to exchange information.
typedef struct _EXTENSION_CONTROL_BLOCK EXTENSION_CONTROL_BLOCK {
DWORD cbSize;
DWORD dwVersion;
HCONN ConnID;
DWORD dwHttpStatusCode;
CHAR lpszLogData[HSE_LOG_BUFFER_LEN];
LPSTR lpszMethod;
LPSTR lpszQueryString;
LPSTR lpszPathInfo;
LPSTR lpszPathTranslated;
DWORD cbTotalBytes;
DWORD cbAvailable;
LPBYTE lpbData;
LPSTR lpszContentType;
BOOL (WINAPI * GetServerVariable) ();
BOOL (WINAPI * WriteClient) ();
BOOL (WINAPI * ReadClient) ();
BOOL (WINAPI * ServerSupportFunction) ();
} EXTENSION_CONTROL_BLOCK;
When IIS receives a request for an ISAPI extension, it includes the amount of data in the lpbData parameter up to the amount specified in the UploadReadAheadSize property of the metabase. The UploadReadAheadSize property has a range of 0 bytes to 4 GB and a default value of 48 KB.
Caution: |
|---|
Setting EXTENSION_CONTROL_BLOCK to a large size such as a gigabyte opens your system to the risk of denial-of-service attacks, which can take the form of an encoded request for an infinite-sized chunk transfer. |
Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Product: IIS
Header: Declared in httpext.h.
Caution: