INF: VECTOR_SEND Server Support Function in IIS 6.0 (821903)



The information in this article applies to:

  • Microsoft Internet Information Services version 6.0

SUMMARY

This article describes a new server support function, VECTOR_SEND, in Internet Information Services (IIS) 6.0. You can use this server support function to add, manage, or remove data from the fragment cache that is stored in Http.sys.

Note This function has not been tested for general purpose use and is provided "as is." This function may be removed or replaced in future versions of Internet Information Services.

MORE INFORMATION

New support for the use of VECTOR_SEND in ISAPI extension development was introduced in IIS 6.0. You must understand the components of the VECTOR_SEND ISAPI Extension ServerSupportFunction before you read this article.

To build ISAPI extensions that take advantage of the fragment cache, you must add the following lines to the ISAPI header file as #define:
  • HSE_REQ_ADD_FRAGMENT_TO_CACHE (HSE_REQ_END_RESERVED+34)
  • HSE_REQ_READ_FRAGMENT_FROM_CACHE (HSE_REQ_END_RESERVED+35)
  • HSE_REQ_REMOVE_FRAGMENT_FROM_CACHE (HSE_REQ_END_RESERVED+36)
If you use any of these directives for ISAPI development, Http.sys manages and owns the fragment cache. At any time, Http.sys may override or delete information that you directed to be stored. There is currently no way to lock information in the fragment cache as non-volatile information. If you use the new server support function to manage the fragment cache, be extremely careful because Http.sys may override or delete information without notification.

The following information defines the structures that were exposed for managing the fragment cache:
  • pecb->ServerSupportFunction( pecb->ConnId,
            HSE_REQ_ADD_FRAGMENT_TO_CACHE,
            &Vector,			//HSE_VECTOR_ELEMENT*
            (DWORD*)szNameW,	//wCHAR*
             NULL );
    
    This function is used to add fragments to the cache for later retrieval.
  • pecb->ServerSupportFunction( pecb->ConnId,
            HSE_REQ_READ_FRAGMENT_FROM_CACHE,
            pData,			//Byte*
            &cbData,			//dWord*
            (DWORD*)szNameW );	//wChar*
    
    This function is used to read fragments that are already in the cache. Http.sys may drop this data from the cache before your code has used the data that was returned from Http.sys.
  • pecb->ServerSupportFucntion( pecb->ConnId,
            HSE_REQ_REMOVE_FRAGMENT_FROM_CACHE,	
            szNameW,                       //wChar*	 
            Null,
            Null );
    
    This function is used to remove data fragments that you do not need or that have been updated.

REFERENCES

For additional information about VECTOR_SEND ISAPI Extension ServerSupportFunction, visit the following Microsoft Web site:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/htm/Extensions_SSF_HSE_REQ_VECTOR_SEND.asp

Modification Type:MajorLast Reviewed:6/3/2003
Keywords:kbinfo kbbug KB821903 kbAudDeveloper