dll调用问题!!!!

2019-07-18 00:58发布

!!!!!调用摄像机的字符叠加功能,我是用簇 匹配至类型 值传递 的参数定义,得到的返回值是正确的,但是并不能改变叠加的字符,只是初始化了相机的字符显示。
NET_NVR_SetOsdAttr
                设置OSD参数

int NET_NVR_SetOsdAttr(
                   int s32VideoHandle
                   StOsdAttr *pStOsdAttr
                   );
参数说明:
      [in]s32VideoHandle
           NET_NVR_RealPlay的返回值
      [out]pStOsdAttr
           OSD参数StOsdAttr结构体指针
返回值:
      成功返回0,失败返回-1


StOsdAttr结构体
typedef struct _tagStOsdAttr {
      unsigned int u32CharColor;           /*字符颜 {MOD}*/
      emOsdLanguage emDisplayLanguage;           /*字符语言*/
      bool boIsAdjustPosition;           /*是否自动调整位置*/
      StStringAttr stDateTime;             /*时间日期*/
      StStringAttr stBitRate;              /*码率*/
      StString stContent1;                 /*自定义内容1*/
      StString stContent2;                 /*自定义内容2*/
      StString stContent3;                 /*自定义内容3*/
      StString stContent4;                 /*自定义内容4*/
      StString stContent5;                 /*自定义内容5*/
      StString stContent6;                 /*自定义内容6*/
      bool boIsDisplayWeek;                 /*是否显示星期*/
      int s32Reserved;                 /*预留*/
}StOsdAttr;

StStringAttr结构体
typedef struct _tagStStringAttr {
      short u32X;                         /*横坐标*/
      unsigned short u32Y;                /*纵坐标*/
      bool boIsShow;                      /*是否显示*/
}StStringAttr;

StString结构体
typedef struct _tagStString {
      StStringAttr stStringAttr;          /*字符叠加属性*/
      char s8Content[32];                 /*字符叠加内容*/
}StString; emOsdLanguage结构体
typedef enum {
      _OSD_CHINESE = 0,     //叠加的时间码率字符用中文显示       _OSD_ENGLISH,     //叠加的时间码率字符用英文显示 }emOsdLanguage;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。