网络编程细节 QueryInfo这个函数在网上找的资料,看了之后感觉都很抽象,他的作用是什么呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CHttpFile::QueryInfo BOOL QueryInfo( DWORD dwInfoLevel, LPVOID lpvBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex = NULL ) const; BOOL QueryInfo( DWORD dwInfoLevel, CString& str, LPDWORD dwIndex = NULL) const; BOOL QueryInfo( DWORD dwInfoLevel, SYSTEMTIME* pSysTime, LPDWORD dwIndex = NULL ) const; 返回值: 如果成功,则返回非零值,否则为0。如果此调用失败,可通过调用Win32的函数GetLastError来确定错误原因。 参数: dwInfoLevel 查询属性和下列指定所须信息标志的组合: · HTTP_QUERY_CUSTOM 查找头名称并在输出中返回lpvBuffer中的值。如果未找到,HTTP_QUERY_CUSTOM 产生断言。 · HTTP_QUERY_FLAG_REQUEST_HEADERS 是典型的,此应用查询请求头,但一个应用也可通过使用此标记查询请求头。 · HTTP_QUERY_FLAG_SYSTEMTIME 对于那些值为日期/时间字符串的头,如“Last-Modified-Time”,此标记返回如标准Win32SYSTEMTIME结构的头值,而不需应用对数据进行文法分析映射。如果使用了此标记,你可能要使用SYSTEMTIME 覆盖此函数。 · HTTP_QUERY_FLAG_NUMBER 对于那些值为数字的头,如状态号,此标记返回一个32位的数据。 请参阅说明部分以了解可能值的列表。 lpvBuffer 一个指向用于接收信息的缓冲区的指针。 lpdwBufferLength 在入口处,这是指向一个用字节或位表示的包含数据缓冲区长度的值。请参阅说明部分以了解此参数的详细信息。 lpdwIndex 一个指向基于零的头索引的指针。可以为NULL。使用此标记来枚举同名的多个头。对于输入,lpdwIndex表示返回的指定的头的索引。对于输出,lpdwIndex 表示下一个头的索引。如果此索引找不到,则返回ERROR_HTTP_HEADER_NOT_FOUND。 str 接收返回信息的CString对象的参考值。 dwIndex 一个索引值。请参阅lpdwIndex。 pSysTime 一个指向Win32 SYSTEMTIME结构的指针。 说明: 调用此成员函数返回HTTP请求中的回答或请求头。只有在SendRequest被成功调用或者一个CHttpFile对象被 OpenURL成功创建后,才能使用该成员函数。 你可从QueryInfo中获取以下数据类型: · strings (缺省) · SYSTEMTIME (对于“Data:”“Expires:”等) · DWORD (对于 STATUS_CODE,CONTENT_LENGTH等等) 当一个字符串被写入缓冲区,且成员函数成功时,lpdwBufferLength 包含字符串的字节长减一,去掉结束NULL字符的长度。 可能的dwInfoLevel值包括: · HTTP_QUERY_MIME_VERSION · HTTP_QUERY_CONTENT_TYPE · HTTP_QUERY_CONTENT_TRANSFER_ENCODING · HTTP_QUERY_CONTENT_ID · HTTP_QUERY_CONTENT_DESCRIPTION · HTTP_QUERY_CONTENT_LENGTH · HTTP_QUERY_ALLOWED_METHODS · HTTP_QUERY_PUBLIC_METHODS · HTTP_QUERY_DATE · HTTP_QUERY_EXPIRES · HTTP_QUERY_LAST_MODIFIED · HTTP_QUERY_MESSAGE_ID · HTTP_QUERY_URI · HTTP_QUERY_DERIVED_FROM · HTTP_QUERY_LANGUAGE · HTTP_QUERY_COST · HTTP_QUERY_WWW_LINK · HTTP_QUERY_PRAGMA · HTTP_QUERY_VERSION · HTTP_QUERY_STATUS_CODE · HTTP_QUERY_STATUS_TEXT · HTTP_QUERY_RAW_HEADERS · HTTP_QUERY_RAW_HEADERS_CRLF 关于登陆窗口的登陆按钮无法接收消息的问题 rename DeleteFile的问题,大家帮忙瞧一下 在Matlab中如何实现一个锁相放大器的仿真模型! 怎样继承CFormView类 急求:BCG中error LNK2001: 无法解析的外部符号 熟悉STL的高手请进,关于那个库更好一点的问题。 高分:有谁能写出这条SQL语句? crypto高手请进! 重载和覆盖我分不清了,大家帮我看看这段话是不是错了,概念问题 非法的连接串属性CREATE_DB..驱动程序的SqlSetConnectAttr失败??? VC对话框+MapX 添加图层,画点 问题 如何取得QQ聊天框内容(不接受任何消息?)
BOOL QueryInfo( DWORD dwInfoLevel, LPVOID lpvBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex = NULL ) const;
BOOL QueryInfo( DWORD dwInfoLevel, CString& str, LPDWORD dwIndex = NULL) const;
BOOL QueryInfo( DWORD dwInfoLevel, SYSTEMTIME* pSysTime, LPDWORD dwIndex = NULL ) const;
返回值:
如果成功,则返回非零值,否则为0。如果此调用失败,可通过调用Win32的函数GetLastError来确定错误原因。
参数: dwInfoLevel 查询属性和下列指定所须信息标志的组合: · HTTP_QUERY_CUSTOM 查找头名称并在输出中返回lpvBuffer中的值。如果未找到,HTTP_QUERY_CUSTOM 产生断言。
· HTTP_QUERY_FLAG_REQUEST_HEADERS 是典型的,此应用查询请求头,但一个应用也可通过使用此标记查询请求头。
· HTTP_QUERY_FLAG_SYSTEMTIME 对于那些值为日期/时间字符串的头,如“Last-Modified-Time”,此标记返回如标准Win32SYSTEMTIME结构的头值,而不需应用对数据进行文法分析映射。如果使用了此标记,你可能要使用SYSTEMTIME 覆盖此函数。
· HTTP_QUERY_FLAG_NUMBER 对于那些值为数字的头,如状态号,此标记返回一个32位的数据。
请参阅说明部分以了解可能值的列表。
lpvBuffer 一个指向用于接收信息的缓冲区的指针。
lpdwBufferLength 在入口处,这是指向一个用字节或位表示的包含数据缓冲区长度的值。请参阅说明部分以了解此参数的详细信息。
lpdwIndex 一个指向基于零的头索引的指针。可以为NULL。使用此标记来枚举同名的多个头。对于输入,lpdwIndex表示返回的指定的头的索引。对于输出,lpdwIndex 表示下一个头的索引。如果此索引找不到,则返回ERROR_HTTP_HEADER_NOT_FOUND。
str 接收返回信息的CString对象的参考值。
dwIndex 一个索引值。请参阅lpdwIndex。
pSysTime 一个指向Win32 SYSTEMTIME结构的指针。
说明:
调用此成员函数返回HTTP请求中的回答或请求头。只有在SendRequest被成功调用或者一个CHttpFile对象被 OpenURL成功创建后,才能使用该成员函数。
你可从QueryInfo中获取以下数据类型: · strings (缺省)
· SYSTEMTIME (对于“Data:”“Expires:”等)
· DWORD (对于 STATUS_CODE,CONTENT_LENGTH等等)
当一个字符串被写入缓冲区,且成员函数成功时,lpdwBufferLength 包含字符串的字节长减一,去掉结束NULL字符的长度。
可能的dwInfoLevel值包括: · HTTP_QUERY_MIME_VERSION
· HTTP_QUERY_CONTENT_TYPE
· HTTP_QUERY_CONTENT_TRANSFER_ENCODING
· HTTP_QUERY_CONTENT_ID
· HTTP_QUERY_CONTENT_DESCRIPTION
· HTTP_QUERY_CONTENT_LENGTH
· HTTP_QUERY_ALLOWED_METHODS
· HTTP_QUERY_PUBLIC_METHODS
· HTTP_QUERY_DATE
· HTTP_QUERY_EXPIRES
· HTTP_QUERY_LAST_MODIFIED
· HTTP_QUERY_MESSAGE_ID
· HTTP_QUERY_URI
· HTTP_QUERY_DERIVED_FROM
· HTTP_QUERY_LANGUAGE
· HTTP_QUERY_COST
· HTTP_QUERY_WWW_LINK
· HTTP_QUERY_PRAGMA
· HTTP_QUERY_VERSION
· HTTP_QUERY_STATUS_CODE
· HTTP_QUERY_STATUS_TEXT
· HTTP_QUERY_RAW_HEADERS
· HTTP_QUERY_RAW_HEADERS_CRLF