HTTP_FILTER_RAW_DATA Structure (IIS)

IIS includes a pointer to this structure when it is either reading or sending raw data. If your filter should be notified for this event, it should register for either the SF_NOTIFY_READ_RAW_DATA or SF_NOTIFY_SEND_RAW_DATA events.

typedef struct _HTTP_FILTER_RAW_DATA HTTP_FILTER_RAW_DATA {
      PVOID pvInData;
      DWORD cbInData;
      DWORD cbInBuffer;
      DWORD dwReserved;
} HTTP_FILTER_RAW_DATA, * PHTTP_FILTER_RAW_DATA;

Members

  • pvInData
    Points to the data buffer.

  • cbInData
    The amount of data in the buffer pointed to by pvInData.

  • cbInBuffer
    The size of the buffer pointed to by pvInData.

  • dwReserved
    Reserved for future use.

Remarks

This structure is passed to the SF_NOTIFY_READ_RAW_DATA and SF_NOTIFY_SEND_RAW_DATA notification routines. The pvInData pointer can be replaced by filters that modify the raw data being sent or received. (cbInData and cbInBuffer must also be appropriately updated if the pointer is replaced.) The new buffer memory must remain valid until the end of the request. The new buffer memory can remain valid by using AllocMem or by using a buffer owned by the filter. In addition, the filter must not attempt to free or otherwise de-allocate the old pvInData pointer. Only the owner of the memory block is allowed to free the buffer.

ms525733.alert_caution(en-us,VS.90).gifImportant Note:

It is not recommended that filters modify the raw data in place. The memory segment may be read-only or the data may be cached directly by an ISAPI extension.

Filters that register for the SF_NOTIFY_READ_RAW_DATA event must be assigned at the Web service level. They cannot be assigned to an individual Web site.

Requirements

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 httpfilt.h.

See Also