dsmSetUp

dsmSetUp 函数调用可覆盖环境变量值。 在 dsmInitEx之前调用 dsmSetUp 。 在 envSetUp 结构中传递的值可覆盖现有的环境变量或缺省值。 如果为字段指定 NULL,将从环境中获取值。 如果没有设置值,将从缺省值中获取值。

要求:
  1. 如果使用 dsmSetUp,请始终在 dsmCleanUp之前调用 dsmTerminate
  2. 如果测试标记在配置文件中设置 INSTRUMENT: API,并在应用程序中使用 dsmSetUpdsmCleanUp,将只能激活 API 指令。

语法

dsInt16_t DSMLINKAGE dsmSetUp
        (dsBool_t    mtFlag,
         envSetUp    *envSetUpP);         

参数

dsBool_t mtFlag (I)
此参数指定将在单个县城还是多线程模式中使用 API。 值包括:
   DSM_SINGLETHREAD
   DSM_MULTITHREAD
要求: 要进行不依赖 LAN 的数据传输,必须启用多线程标志。
envSetUp *envSetUpP(I)
此参数是指向保留覆盖值的结构的指针。 如果不想覆盖现有的环境变量,请指定 NULL。 envSetUp 结构中的字段包括:
  名称 描述
  dsmiDir 在 UNIX 或 Linux®上包含消息文件的标准目录路径。 它还指定 dsm.sys 目录。
  dsmiConfig 客户机选项文件的标准名称。
  dsmiLog 错误日志目录的标准路径。
  argv 如果应用程序必须使用授权用户权限运行,那么请传递调用程序的 argv[0] 名称。 请参阅 控制对密码文件的访问 以获取更多信息。
  logName 应用程序没有使用 dsierror.log 时错误日志的文件名称。
  inclExclCaseSensitive 指示包含/排除规则是区分大小写还是不区分大小写。 此参数只能在 Windows 上使用,在其他位置将被忽略。

返回码

返回码编号用括号 ( ) 括起。

表 1. 为 dsmSetUp 返回代码
返回码 说明
DSM_RC_ACCESS_DENIED (106) 拒绝访问指定的文件或目录。
DSM_RC_INVALID_OPT (0400) 没有找到无效的选项。
DSM_RC_NO_HOST_ADDR (0405) 没有在系统选项文件的服务器名称节中定义该服务器的 TCPSERVERADDRESS。
DSM_RC_NO_OPT_FILE (0406) 没有找到由文件名指定的选项文件。
DSM_RC_MACHINE_SAME (0408) 选项文件中定义的 NODENAME 不能与系统 HostName 相同。
DSM_RC_INVALID_SERVER (0409) 系统选项文件不包含 SERVERNAME 选项。
DSM_RC_INVALID_KEYWORD (0410) dsmInitEx 配置文件中找到了无效的选项关键字,选项字符串为 dsm.sys 或 dsm.opt。
DSM_RC_PATTERN_TOO_COMPLEX (0411) 发出的包含或排除模式过于复杂,无法由 IBM® Storage Protect准确解释。
DSM_RC_NO_CLOSING_BRACKET (0412) 包含或排除模式的构成不正确。 缺少右方括号。
DSM_RC_NLS_CANT_OPEN_TXT (0610) 系统无法打开消息文本文件。
DSM_RC_NLS_INVALID_CNTL_REC (0612) 系统无法使用消息文本文件。
DSM_RC_NOT_ADSM_AUTHORIZED (0927) 您必须是授权用户才能获取多线程和 passwordaccess generate。
DSM_RC_NO_INCLEXCL_FILE (2229) 没有找到包含/排除文件。
DSM_RC_NO_SYS_OR_INCLEXCL (2230) 既没有找到 dsm.sys 文件,也没有找到包含/排除文件。