wiasParseEndorserString 函数 (wiamdef.h)
wiasParseEndorserString 函数分析认可者字符串,将字符串中 WIA 服务定义的令牌和供应商定义的令牌替换为与这些令牌关联的值。
语法
HRESULT wiasParseEndorserString(
[in] BYTE *pWiasContext,
LONG lFlags,
[out, optional] WIAS_ENDORSER_INFO *pInfo,
[out] BSTR *pOutputString
);
参数
[in] pWiasContext
指向 WIA 项上下文的指针 (包含Microsoft Windows SDK文档) ) 中所述WIA_DPS_ENDORSER_STRING属性 (项的上下文。
lFlags
保留供系统使用,应设置为 0。
[out, optional] pInfo
指向包含页计数和自定义标记/值对列表的 WIAS_ENDORSER_INFO 结构的指针。 可以为 NULL。
[out] pOutputString
指向接收已分析背书字符串地址的内存位置的指针。 如果 *pOutputString 在输入时为非 NULL,则该函数假定调用方分配了缓冲区;否则,WIA 服务将分配它。 请注意,WIA 服务假定 最大 结果认可符字符串MAX_PATH (以 stdlib.h) 字符长度定义。 如果驱动程序希望字符串更长,则应分配缓冲区本身。 如果调用方分配缓冲区 ,则必须在 使用此函数之前将缓冲区的内容初始化为零。
返回值
成功后,函数返回S_OK。
如果函数失败,它将返回标准 COM 错误或 WIA 错误代码之一。
注解
应用程序将 WIA_DPS_ENDORSER_STRING 属性设置为一个字符串,该字符串可以包含 WIA 服务定义的令牌 $DATE$、$TIME$、$PAGE_COUNT$、$DAY$、$MONTH$ 和 $YEAR$ 以及供应商定义的令牌。 驱动程序调用 wiasParseEndorserString 后, pOutputString 指向的字符串包含WIA_DPS_ENDORSER_STRING 属性中的字符串副本,但任何标记都替换为标记表示的值。 例如,如果应用程序将认可者字符串设置为“此页面已于 $DATE$扫描”,并且当前日期为 2000 年 10 月 1 日,则生成的输出字符串将是“此页面已于 2000/10/1 扫描”。
可以在 wiadef.h 中找到标准 WIA 代言人令牌的列表。
驱动程序可以通过为每个令牌/值对填写WIAS_ENDORSER_VALUE结构,并在WIAS_ENDORSER_INFO结构中打包所有这些结构,请求 wiasParseEndorserString 替换供应商定义的令牌的值。 以下示例演示如何使用此函数。
HRESULT hr = S_OK;
BSTR bstrResultingEndorser = NULL;
WIAS_ENDORSER_VALUE aMyTokens[] = {L"$MY_TOKEN$", L"My value"};
WIAS_ENDORSER_INFO Info = {0, 1, aMyTokens};
hr = wiasParseEndorserString(pWiasContext, 0,
&Info, &bstrResultingEndorser);
假设 WIA_DPS_ENDORSER_STRING 属性包含“This is $MY_TOKEN$”,并且对 wiasParseEndorserString 的 调用成功, 则 bstrResultingEndorser 现在将包含“This is My value”。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | wiamdef.h (包括 Wiamdef.h) |
Library | Wiaservc.lib |
DLL | Wiaservc.dll |