EXTENSION_CONTROL_BLOCK (Compact 2013)

3/26/2014

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

Syntax

typedef struct _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, LPEXTENSION_CONTROL_BLOCK;

Members

  • cbSize
    Size of this structure.
  • dwVersion
    Version information of the extension specification. The HIWORD contains the major version number, and the LOWORD contains the minor version number.
  • ConnID
    A unique number assigned by the Web Server. This number should not be modified.
  • dwHttpStatusCode
    Status of the current transaction when the request is completed. The Web Server sets this variable to 200 and ignores any changes the extension might make to this variable.
  • lpszLogData
    Pointer to a buffer that 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
    Pointer to the method with which the request was made, for example, GET or POST. This value is equivalent to the CGI variable REQUEST_METHOD.
  • lpszQueryString
    Pointer to a null-terminated string representing query information. This is the part of the URL string that appears after the question mark (?). This value is equivalent to the CGI variable QUERY_STRING.
  • lpszPathInfo
    Pointer to 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
    Pointer to a null-terminated string that contains the translated path. This value is equivalent to the CGI variable PATH_TRANSLATED.
  • cbTotalBytes
    Total number of bytes to be received from the client.
  • cbAvailable
    Available number of bytes (out of a total of cbTotalBytes) in the buffer indicated by lpbData. If cbTotalBytes is the same as cbAvailable, the member lpbData will indicate a buffer that contains all the data sent by the client. Otherwise, cbTotalBytes will contain the total number of bytes of data received.
  • lpbData
    Pointer to a buffer of size cbAvailable that contains the data sent by the client.
  • lpszContentType
    Pointer to a null-terminated string containing the content type of the data sent by the client. This value is equivalent to the CGI variable CONTENT_TYPE.
  • ReadClient
    Pointer to the ReadClient function for the extension.

Remarks

By default the web server will read in 48 KB of POST data, but this value can be modified in the registry. See Base Registry Settings for details.

Requirements

Header

httpext.h

See Also

Reference

Web Server Structures