ICON_INFO的解析

Posted 道亦无名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ICON_INFO的解析相关的知识,希望对你有一定的参考价值。

/** icon信息
 *  缓存入口 无符号16位整数。图标缓存中的索引,此图标必须存储在客户端的该索引处。 该索引在给定的CacheId中是唯一的(
 请参见以下描述)。 CacheEntry的最大值在连接建立阶段通过窗口列表功能集的NumIconCacheEntries字段在服务器和客户端之间协商。 ***

 * 无符号8位整数。此图标必须存储在客户端的图标缓存索引。如果值为0xFFFF,则不应缓存图标。CacheId在远程会话中是唯一的。
在建立连接时,服务器和客户端通过窗口列表功能集的NumIconCaches字段协商CacheId的最大值。 ***
 *  位数
 *  宽
 *  高
 *  颜色表数据的大小(以字节为单位)。仅当每像素位(Bpp)值为1、4或8时,此字段才存在。
*  图标的一位颜色深度遮罩图像的大小(以字节为单位)。
 * 图标彩色图像的大小(以字节为单位)。
 * 1-bpp位图的图像数据。此字段的长度(以字节为单位)等于CbBitsMask的值。此字段是可选的。
 * 颜色位图的图像数据。此字段的长度(以字节为单位)等于CbColorTable的值。仅当Bpp值为1、4或8时,此字段才存在。
 * 图标彩色图像的图像数据。此字段的长度(以字节为单位)等于CbBitsColor的值。此字段是可选的。
*/
struct _ICON_INFO
{
	UINT32 cacheEntry;
	UINT32 cacheId;
	UINT32 bpp;
	UINT32 width;
	UINT32 height;
	UINT32 cbColorTable;
	UINT32 cbBitsMask;
	UINT32 cbBitsColor;
	BYTE* bitsMask;
	BYTE* colorTable;
	BYTE* bitsColor;
};


CacheEntry (2 bytes): An unsigned 16-bit integer. The index within an icon cache at which this icon MUST be stored at the client. The index is unique within a given CacheId (see following description). The maximum value of CacheEntry is negotiated between server and client through the NumIconCacheEntries field of the Window List Capability Set during the connection establishment phase.

CacheId (1 byte): An unsigned 8-bit integer. The index of the icon cache at which this icon MUST be stored at the client. If the value is 0xFFFF, the icon SHOULD NOT be cached. The CacheId is unique within a remote session.

The maximum value of CacheId is negotiated between server and client through the NumIconCaches field of the Window List Capability Set while establishing the connection.

Bpp (1 byte): An unsigned 8-bit integer. The color depth of the icon. Valid values are as follows:

1, 4, 8, 16, 24, 32.

Width (2 bytes): An unsigned 16-bit integer. The width, in pixels, of the icon.

Height (2 bytes): An unsigned 16-bit integer. The height, in pixels, of the icon.

CbColorTable (2 bytes): An unsigned 16-bit integer. The size, in bytes, of the color table data. This field is ONLY present if the bits per pixel (Bpp) value is 1, 4, or 8.

CbBitsMask (2 bytes): An unsigned 16-bit integer. The size, in bytes, of the icon’s one-bit color-depth mask image.

CbBitsColor (2 bytes): An unsigned 16-bit integer. The size, in bytes, of the icon’s color image.

BitsMask (variable): The image data for the 1-bpp bitmap. The length, in bytes, of this field is equal to the value of CbBitsMask. This field is optional.

ColorTable (variable): The image data for the color bitmap. The length, in bytes, of this field is equal to the value of CbColorTable. This field is only present if the Bpp value is 1, 4, or 8.

BitsColor (variable): The image data for the icon’s color image. The length, in bytes, of this field is equal to the value of CbBitsColor. This field is optional.

以上是关于ICON_INFO的解析的主要内容,如果未能解决你的问题,请参考以下文章

无法解析片段中的 findViewById [重复]

无法解析片段中的 ViewModelProvider 构造?

Relay.js 没有正确解析组合片段

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

NodeJs GraphQL 片段解析器