upnp+-UpnpRegisterRootDevice函数返回-104

问题描述

UpnpRegisterRootDevice函数返回-104
void *Cookie = NULL;
UpnpDevice_Handle DeviceHandle = -1;
char desc_doc_url[MAX_BUF_LEN] = {0};
snprintf(desc_doc_url MAX_BUF_LENhttp://%s:%d/%s"" IP PORTtvdevicedesc.xml"");

iRet = UpnpRegisterRootDevice(desc_doc_url TvDeviceCallbackEventHandler Cookie &DeviceHandle);if(iRet != UPNP_E_SUCCESS){    printf(""Error register root device %dn"" iRet);    UpnpFinish();    return iRet;}

我也不清楚是我的参数传的有问题,还是有什么没初始化,一直返回-104,请各位大神指点

解决方案

http://manual.freeshell.org/libupnp-1.6.18/html/upnp/UpnpRegisterRootDevice.html
先查看对应的错误信息。

解决方案二:
UPNP_E_OUTOF_MEMORY: There are insufficient resources to register this root device,就是这个错误,我跟进upnp的代码调了一下,他在里面的栈上分配了很大一块内存,分配的大小是一个很大的整数,根本不能分配成功,所以就报内存不够的错误,为什么会这样呢?

时间: 2024-11-08 20:05:54

upnp+-UpnpRegisterRootDevice函数返回-104的相关文章

c++-在写函数时 是不是要把返回值都放在形参表里?把函数返回值设定为true/false?

问题描述 在写函数时 是不是要把返回值都放在形参表里?把函数返回值设定为true/false? 在写函数时 是不是要把返回值都放在形参表里?把函数返回值设定为true/false? 解决方案 主要还是看程序需要把,这种想法只是对于一些内存申请操作来说,函数在结束后就将函数内申请的控件释放.如果已经在外部申请好了内存,是可以当做返回值返回的.所以说并不一定就要把返回值放在形参表里. 解决方案二: 这也是一种方式,尤其对于要返回多个结果的时候,一般通过参数来传递结果.然后函数返回值来表示函数是否调用

如何让一个函数返回多个值(C#)

函数   有两种方法:1.使用指针变量声明函数(或者使用数组变量)2.使用传出参数 第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面.这个方法我不太会用,传地址传值我常常搞的淅沥糊涂. 第二种方法:我用例子说明. 首先声名一个函数,定义如下 public bool CheckUser(string UserName, out string PassWord, Out int State){    if ( UserName == "123" )    

C/C++函数调用与函数返回值

函数参数与函数调用 1.函数调用的作用: ·用实参数向形式参数传递数据: ·为获得数据参数及在函数体中声明的变量分配存储空间: ·中断现行(调用)函数,把流程向被调用函数的入口处,开始执行被调函数. 当参数表为空时,表示该函数不从调用函数接受数据. 2.数值参数 传值调用:形参只有在函数被调用时,才被分配内存区域,并一直保留到函数返回时被撤销为止.形参和实参只是名字相同,各自占有各自的内存空间和生存周期,因此他并不能改变主调函数中的变量. 3.地址参数 传址调用:传送的是变量的地址,尽管主函数和

Python函数返回值实例分析

  本文实例讲述了Python的函数返回值用法.分享给大家供大家参考.具体分析如下: 最近学一些Python的基本用法,看到定义函数,发现似乎只能返回一个返回值,想想matlab里返回多个返回值多方便啊,网上查了查,看到有返回多个值的方法. python 函数返回值有两种形式: 1 返回一个值. 2 返回多个值. 现看看返回一个值的吧. ? 1 2 3 4 def firstvalue(a,b): c = a + b return c print firstvalue(1,2) #结果:3 再看

JavaScript实现函数返回多个值的方法

  本文实例讲述了JavaScript实现函数返回多个值的方法.分享给大家供大家参考.具体分析如下: 这里用字典类型返回多个值 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //One var mValues= function(){ var a ="a"; var b = "b"; return [a, b]; }; var values= mValues(); var valOne= values

Shell中函数返回值超出问题

  这篇文章主要介绍了Shell中函数返回值超出问题,shell中通过return返回是有限制的,最大返回255,超过255,则从0开始计算,需要的朋友可以参考下 1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: 代码如下: [ function ] funname [()] { action; [return int;] } 说明: (1)可以带function fun() 定义,

php使用gettimeofday函数返回当前时间并存放在关联数组里

 这篇文章主要介绍了php使用gettimeofday函数返回当前时间并存放在关联数组里的方法,涉及php中gettimeofday函数的使用技巧,需要的朋友可以参考下     本文实例讲述了php使用gettimeofday函数返回当前时间并存放在关联数组里的方法.分享给大家供大家参考.具体分析如下: 英文官方描述如下: Key Description sec Seconds since midnight before January 1, 1970 usec Microseconds sin

VLOOKUP函数返回错误值怎么办?

  VLOOKUP函数 返回错误值的原因和解决方法. 一. VLOOKUP函数基本语法 =VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup]) 这个太复杂了哦,看鹅理解的VLOOKUP函数中文语法吧: =VLOOKUP(查找值,数据源,第几列,模糊查找1/精确查找0) 二. 实例说话 接下来,先看一个VLOOKUP函数的应用实例吧. 通过菜名查询库存数量. C11单元格公式如下: =VLOOKUP(B11,$B$3:$

excel使用NOW函数函数返回当前时间

  NOW函数返回当前日期和时间的序列号.如果在输入该函数前,单元格格式为"常规",Excel会将单元格格式更改为与"控制面板"的区域日期和时间设置中指定的日期和时间格式相同的格式.可以在功能区"开始"选项卡上的"数字"组中使用命令来更改日期和时间格式. NOW函数语法为: NOW() 没有参数 提示: 序列号中小数点右边的数字表示时间,左边的数字表示日期.例如,序列号0.5表示时间为中午12:00. NOW函数的结果仅在计算