(http.h) HTTP_DATA_CHUNK 结构

HTTP_DATA_CHUNK 结构表示内存、文件或 HTTP 服务器 API 响应片段缓存中的单个数据块。

语法

typedef struct _HTTP_DATA_CHUNK {
  HTTP_DATA_CHUNK_TYPE DataChunkType;
  union {
    struct {
      PVOID pBuffer;
      ULONG BufferLength;
    } FromMemory;
    struct {
      HTTP_BYTE_RANGE ByteRange;
      HANDLE          FileHandle;
    } FromFileHandle;
    struct {
      USHORT FragmentNameLength;
      PCWSTR pFragmentName;
    } FromFragmentCache;
    struct {
      HTTP_BYTE_RANGE ByteRange;
      PCWSTR          pFragmentName;
    } FromFragmentCacheEx;
    struct {
      USHORT               TrailerCount;
      PHTTP_UNKNOWN_HEADER pTrailers;
    } Trailers;
    struct {
      HTTP_WINHTTP_FAST_FORWARDING_DATA WhFastForwardingData;
    } FromWinHttpFastForwarding;
  };
} HTTP_DATA_CHUNK, *PHTTP_DATA_CHUNK;

成员

DataChunkType

数据存储的类型。 此成员可以是 HTTP_DATA_CHUNK_TYPE 枚举中的值之一。

FromMemory

FromMemory.pBuffer

指向数据块的起始内存地址的指针。

FromMemory.BufferLength

数据块的长度(以字节为单位)。

FromFileHandle

FromFileHandle.ByteRange

指定文件的全部或部分 HTTP_BYTE_RANGE 结构。 若要指定整个文件,请将 StartingOffset 成员设置为零,将 Length 成员设置为 HTTP_BYTE_RANGE_TO_EOF

FromFileHandle.FileHandle

打开有问题的文件的句柄。

FromFragmentCache

FromFragmentCache.FragmentNameLength

片段名称的长度(以字节为单位),不包括终止 null 字符。

FromFragmentCache.pFragmentName

指向包含使用 HttpAddFragmentToCache 函数将片段添加到 response-fragment 缓存时分配的片段名称的字符串的指针。

FromFragmentCacheEx

FromFragmentCacheEx.ByteRange

指定缓存片段中的字节范围的 HTTP_BYTE_RANGE 结构。

FromFragmentCacheEx.pFragmentName

指向包含使用 HttpAddFragmentToCache 函数将片段添加到 response-fragment 缓存时分配的片段名称的字符串的指针。 字符串的长度不能超过 65532 个字节。

注意 此字符串必须以 NULL 结尾。
 

Trailers

Trailers.TrailerCount

pTrailers 指向的数组中HTTP_UNKNOWN_HEADER结构的计数。

Trailers.pTrailers

指向包含尾部 的HTTP_UNKNOWN_HEADER 结构的数组的指针。

FromWinHttpFastForwarding

FromWinHttpFastForwarding.WhFastForwardingData

要求

要求
最低受支持的客户端 Windows Vista、Windows XP 和 SP2 [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 http.h

另请参阅

HTTP 服务器 API 版本 1.0 结构

HTTP_REQUEST

HTTP_RESPONSE

HttpAddFragmentToCache

HttpSendResponseEntityBody