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
要求
标头: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;否则为错误代码。