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

另请参阅

WIAS_ENDORSER_INFO

WIAS_ENDORSER_VALUE