wiasParseEndorserString 函数 (wiamdef.h)

wiasParseEndorserString 函数分析认可字符串,将字符串中 WIA 服务定义的令牌和供应商定义的令牌替换为与这些令牌关联的值。

语法

HRESULT wiasParseEndorserString(
  [in]            BYTE               *pWiasContext,
                  LONG               lFlags,
  [out, optional] WIAS_ENDORSER_INFO *pInfo,
  [out]           BSTR               *pOutputString
);

参数

[in] pWiasContext

指向 WIA 项上下文的指针(包含WIA_DPS_ENDORSER_STRING属性的项的上下文(Microsoft Windows SDK 文档中所述)。

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 属性包含“这是 $MY_TOKEN$”,并且对 wiasParseEndorserString 的调用成功,bstrResultingEndorser 现在将包含“这是我的值”。

要求

要求 价值
目标平台 桌面
标头 wiamdef.h (包括 Wiamdef.h)
Wiaservc.lib
DLL Wiaservc.dll

另请参阅

WIAS_ENDORSER_INFO

WIAS_ENDORSER_VALUE