CMFCFilterChunkValueImpl 类

这是简化区块和属性值对逻辑的类。

语法

class CMFCFilterChunkValueImpl : public ATL::IFilterChunkValue;

成员

公共构造函数

名称 描述
CMFCFilterChunkValueImpl::~CMFCFilterChunkValueImpl 解构对象。
CMFCFilterChunkValueImpl::CMFCFilterChunkValueImpl 构造 对象。

公共方法

名称 描述
CMFCFilterChunkValueImpl::Clear 清除 ChunkValue。
CMFCFilterChunkValueImpl::CopyChunk 将此区块复制到描述区块特征的结构中。
CMFCFilterChunkValueImpl::CopyFrom 使用其他值初始化此区块值。
CMFCFilterChunkValueImpl::GetChunkGUID 检索区块 GUID。
CMFCFilterChunkValueImpl::GetChunkPID 检索区块 PID(属性 ID)。
CMFCFilterChunkValueImpl::GetChunkType 获取区块类型。
CMFCFilterChunkValueImpl::GetString 检索字符串值。
CMFCFilterChunkValueImpl::GetValue 检索作为分配的 propvariant 的值。
CMFCFilterChunkValueImpl::GetValueNoAlloc 返回非分配(内部值)值。
CMFCFilterChunkValueImpl::IsValid 检查此属性值是否有效。
CMFCFilterChunkValueImpl::SetBoolValue 已重载。 按键将属性设置为 Boolean。
CMFCFilterChunkValueImpl::SetDwordValue 按键将属性设置为 DWORD。
CMFCFilterChunkValueImpl::SetFileTimeValue 按键将属性设置为 filetime。
CMFCFilterChunkValueImpl::SetInt64Value 按键将属性设置为 int64。
CMFCFilterChunkValueImpl::SetIntValue 按键将属性设置为 int。
CMFCFilterChunkValueImpl::SetLongValue 按键将属性设置为 LONG。
CMFCFilterChunkValueImpl::SetSystemTimeValue 按键将属性设置为 SystemTime。
CMFCFilterChunkValueImpl::SetTextValue 按键将属性设置为 Unicode 字符串。

受保护方法

名称 描述
CMFCFilterChunkValueImpl::SetChunk 设置区块的公共属性的辅助函数。

注解

若要使用,只需创建正确的 CMFCFilterChunkValueImpl 类

示例:

CMFCFilterChunkValueImpl 区块;

hr = chunk.SetBoolValue(PKEY_IsAttachment, true);

hr = chunk.SetFileTimeValue(PKEY_ItemDate, ftLastModified);

继承层次结构

ATL::IFilterChunkValue

CMFCFilterChunkValueImpl

要求

标头:afxwin.h

CMFCFilterChunkValueImpl::Clear

清除 ChunkValue。

void Clear();

备注

CMFCFilterChunkValueImpl::CMFCFilterChunkValueImpl

构造 对象。

CMFCFilterChunkValueImpl();

备注

CMFCFilterChunkValueImpl::~CMFCFilterChunkValueImpl

解构对象。

virtual ~CMFCFilterChunkValueImpl();

备注

CMFCFilterChunkValueImpl::CopyChunk

将此区块复制到描述区块特征的结构中。

HRESULT CopyChunk(STAT_CHUNK* pStatChunk);

参数

pStatChunk
指向描述区块特征的目标值的指针。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

CMFCFilterChunkValueImpl::CopyFrom

使用其他值初始化此区块值。

void CopyFrom (IFilterChunkValue* pValue);

参数

pValue
指定要从中复制的源值。

注解

CMFCFilterChunkValueImpl::GetChunkGUID

检索区块 GUID。

REFGUID GetChunkGUID() const;

返回值

对标识区块 GUID 的引用。

备注

CMFCFilterChunkValueImpl::GetChunkPID

检索区块 PID(属性 ID)。

DWORD GetChunkPID() const;

返回值

包含属性 ID 的 DWORD 值。

备注

CMFCFilterChunkValueImpl::GetChunkType

检索区块类型。

CHUNKSTATE GetChunkType() const;

返回值

CHUNKSTATE 枚举值,该值指定当前区块是文本类型属性还是值类型属性。

备注

CMFCFilterChunkValueImpl::GetString

检索字符串值。

CString &GetString();

返回值

包含区块值的字符串。

备注

CMFCFilterChunkValueImpl::GetValue

检索作为分配的 propvariant 的值。

HRESULT GetValue(PROPVARIANT** ppPropVariant);

参数

ppPropVariant
当函数返回时,此参数包含区块值。

返回值

如果成功分配 PROPVARIANT 且区块值已成功复制到“ppPropVariant”,则返回 S_OK;否则为错误代码

备注

CMFCFilterChunkValueImpl::GetValueNoAlloc

返回非分配(内部值)值。

PROPVARIANT GetValueNoAlloc ();

返回值

返回当前区块值。

备注

CMFCFilterChunkValueImpl::IsValid

检查此属性值是否有效。

BOOL IsValid() const;

返回值

如果当前区块值有效,返回值为 TRUE;否则为 FALSE。

注解

CMFCFilterChunkValueImpl::SetBoolValue

已重载。 按键将属性设置为 Boolean。

HRESULT SetBoolValue(
    REFPROPERTYKEY pkey,
    BOOL bVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

HRESULT SetBoolValue(
    REFPROPERTYKEY pkey,
    VARIANT_BOOL bVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

bVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

CMFCFilterChunkValueImpl::SetChunk

设置区块的公共属性的辅助函数。

HRESULT SetChunk(
    REFPROPERTYKEY pkey,
    CHUNKSTATE chunkType=CHUNK_VALUE,
    LCID locale=0,
    DWORD cwcLenSource=0,
    DWORD cwcStartSource=0,
    CHUNK_BREAKTYPE chunkBreakType=CHUNK_NO_BREAK);

参数

pkey
指定属性值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

注解

CMFCFilterChunkValueImpl::SetDwordValue

按键将属性设置为 DWORD。

HRESULT SetDwordValue(
    REFPROPERTYKEY pkey,
    DWORD dwVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

dwVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

CMFCFilterChunkValueImpl::SetFileTimeValue

按键将属性设置为 filetime。

HRESULT SetFileTimeValue(
    REFPROPERTYKEY pkey,
    FILETIME dtVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

dtVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

CMFCFilterChunkValueImpl::SetInt64Value

按键将属性设置为 int64。

HRESULT SetInt64Value(
    REFPROPERTYKEY pkey,
    __int64 nVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

nVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

CMFCFilterChunkValueImpl::SetIntValue

按键将属性设置为 int。

HRESULT SetIntValue(
    REFPROPERTYKEY pkey,
    int nVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

nVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

注解

CMFCFilterChunkValueImpl::SetLongValue

按键将属性设置为 LONG。

HRESULT SetLongValue(
    REFPROPERTYKEY pkey,
    long lVal,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

lVal
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

注解

CMFCFilterChunkValueImpl::SetSystemTimeValue

按键将属性设置为 SystemTime。

HRESULT SetSystemTimeValue(
    REFPROPERTYKEY pkey,
    const SYSTEMTIME& systemTime,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale=0,
    DWORD cwcLenSource=0,
    DWORD cwcStartSource=0,
    CHUNK_BREAKTYPE chunkBreakType=CHUNK_NO_BREAK);

参数

pkey
指定属性值。

systemTime
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

注解

CMFCFilterChunkValueImpl::SetTextValue

按键将属性设置为 Unicode 字符串。

HRESULT SetTextValue(
    REFPROPERTYKEY pkey,
    LPCTSTR pszValue,
    CHUNKSTATE chunkType = CHUNK_VALUE,
    LCID locale = 0,
    DWORD cwcLenSource = 0,
    DWORD cwcStartSource = 0,
    CHUNK_BREAKTYPE chunkBreakType = CHUNK_NO_BREAK);

参数

pkey
指定属性值。

pszValue
指定要设置的区块值。

chunkType
标志指示此区块是包含文本类型还是值类型属性。 取自 CHUNKSTATE 枚举的标志值。

区域设置
与一段文本关联的语言和子语言。 文档索引器使用区块区域设置来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为 VT_LPWSTR、VT_LPSTR 或 VT_BSTR 的值类型,则忽略此字段。

cwcLenSource
从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐字符的对应关系。 非零值表示不存在直接对应关系。

cwcStartSource
派生区块的源文本从源区块中启动的偏移量。

chunkBreakType
将前一个区块与当前区块分开的中断类型。 来自 CHUNK_BREAKTYPE 枚举的值。

返回值

如果成功,返回值为 S_OK;否则为错误代码。

备注

另请参阅