首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

返回ERROR_INVALID_PARAMETER的RegCreateKeyExA函数(错误代码87)

RegCreateKeyExA函数是Windows操作系统中的一个函数,用于创建或打开一个注册表项。它的错误代码ERROR_INVALID_PARAMETER (87)表示传递给函数的参数无效。

该函数的完整签名如下: LONG RegCreateKeyExA( HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition );

参数解释:

  • hKey:表示要创建或打开注册表项的父项的句柄。
  • lpSubKey:表示要创建或打开的注册表项的相对路径。
  • Reserved:保留参数,必须设置为0。
  • lpClass:指定注册表项的类别,一般设置为NULL。
  • dwOptions:指定创建或打开注册表项的选项,一般设置为0。
  • samDesired:指定对注册表项的访问权限。
  • lpSecurityAttributes:指定安全属性,一般设置为NULL。
  • phkResult:返回创建或打开的注册表项的句柄。
  • lpdwDisposition:返回一个值,指示是否创建了新的注册表项。

当RegCreateKeyExA函数返回ERROR_INVALID_PARAMETER (87)错误代码时,表示传递给函数的参数有误。可能的原因包括:

  • hKey参数无效,可能是由于句柄无效或已关闭。
  • lpSubKey参数为空或无效。
  • Reserved参数非零,但不是0。
  • lpClass参数无效。
  • dwOptions参数非零,但不是0。
  • samDesired参数无效。
  • lpSecurityAttributes参数无效。
  • phkResult参数无效。
  • lpdwDisposition参数无效。

为了解决这个问题,可以按照以下步骤进行排查:

  1. 确保传递给函数的参数正确且有效。
  2. 检查hKey参数是否有效,可以尝试重新获取有效的句柄。
  3. 确保lpSubKey参数不为空,并且指定的注册表项路径正确。
  4. 检查其他参数是否符合函数的要求,如Reserved、lpClass、dwOptions、samDesired、lpSecurityAttributes、phkResult和lpdwDisposition。

如果以上排查步骤都没有解决问题,可以参考Microsoft官方文档或咨询相关技术支持获取更多帮助。

腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据实际需求和场景来选择,可以访问腾讯云官方网站(https://cloud.tencent.com/)获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

包验证返回错误代码

本文仅供参考,其中列出了由包验证生成所有错误代码错误代码列表 诊断 ID 说明 建议操作 PKV0001 缺少兼容框架编译时资产。 将适当目标框架添加到项目中。...PKV0002 缺少兼容框架和运行时运行时资产。 将相应运行时适当资产添加到包中。 PKV0003 缺少兼容框架运行时独立资产。 将适当运行时独立目标框架添加到项目中。...PKV0004 缺少编译时资产兼容运行时资产。 将适当运行时资产添加到包中。 PKV0005 缺少编译时资产兼容运行时资产和受支持运行时标识符。 将适当运行时资产添加到包中。...CP0001 所比较程序集中缺少该程序集外部可见所需类型、枚举、记录或结构。 将缺少类型添加到缺少该类型程序集中。 CP0002 所比较程序集中缺少在该程序集外部可见所需成员。...将缺少成员添加到缺少该成员程序集中。 CP0003 程序集标识某些部分(名称、公钥令牌、区域性、可重定目标属性或版本)对于比较双方都不匹配。 更新程序集标识,以便比较双方都匹配。

1.8K30
  • C++ 为进程、线程分配 CPU 资源

    返回值 如果该函数成功,则返回值为非零值。 如果函数失败,则返回值为零。 要获得更多错误信息,请调用 GetLastError。...如果进程相关性掩码请求未在系统中配置处理器,则最后一个错误代码 ERROR_INVALID_PARAMETER。...在具有 64 个以上处理器系统上,如果调用进程包含多个处理器组中线程,则最后一个错误代码 ERROR_INVALID_PARAMETER。...返回值 如果函数成功,则返回值为线程上一个关联掩码。 如果函数失败,则返回值为零。 要获得更多错误信息,请调用 GetLastError。...如果线程相关性掩码请求未为进程关联掩码选择处理器,则最后一个错误代码 ERROR_INVALID_PARAMETER

    3.2K70

    干货 | COM劫持实战演示

    和MMDeviceEnumerator实例劫持 进行注册表创建用到api为RegCreateKeyExA,结构如下 LONG RegCreateKeyEx( HKEY hKey,...lpSubKey:此函数打开或创建子项名称,不能为NULL Reserved:保留参数,必须为0 lpClass:该键用户定义类类型。...结构指针 phkResult:指向接收打开或创建句柄变量指针 lpdwDisposition:指向接收处置值之一变量指针 函数执行成功则返回ERROR_SUCCESS,函数执行失败则为非零错误代码...:要设置名称 Reserved:保留值,必须为0 dwType:lpData参数指向数据类型 lpData:要存储数据 cbData:lpData参数指向信息大小,以字节为单位 函数执行成功则返回...ERROR_SUCCESS,函数执行失败则返回非零错误代码 那么首先使用RegCreateKeyExA创建注册表 RegCreateKeyExA(HKEY_CURRENT_USER,

    1.7K10

    php递归函数返回返回不出问题

    今天上班用到了递归函数求分类最上级,代码如下 //分类递归查找上级分类 function get_cat_pid($cat_id,$data){     $sql = "select cat_id,cat_name...$data);         return $data;     } } 控制器代码如下 var_dump(get_cat_pid($cat_parent_id,array())); 发现无论如何,函数打印结果是正确...        return;     }else{         return;     } } get_cat_pid($cat_parent_id,$a);   var_dump($a); 解决了递归函数传值不出问题...经过了大神教诲,现在终于明白为什么会返回null了 函数return是返回给调用这个函数值,当循环两次值为0时,会返回给循环第一次本身函数,然后再返回给调用函数... 大神原话 ?...这样我懂了两个知识点: 1,函数不管是if还是else都得写个return; 2,加强基础啊!!!! 顺便把前面没有return地方改下

    4.5K20

    函数参数&返回

    函数返回意义 5.2、操作函数返回值 5.3、 函数可以返回多个数据 本节内容开始进入基础进阶部分学习 1、什么是函数 我们通常在进行一些功能处理过程中,需要执行一行或者多行代码来完成整个业务流程处理...,就需要函数返回我们执行结果,就是需要返回值; 如果我们函数就是执行代码,执行结果我们后面的代码不适用,就不需要定义返回值 类似生活中某A君让某B君做一件事,就是调用了某B君函数,如果这件事是取快递...、操作函数返回函数返回值通过return关键字来确定 返回语法结构如下: def 函数名称(参数列表): 函数代码块 return 返回值 注意:返回值可以是任意对象(python...中一切皆对象) 返回值,需要在调用函数时候进行接收,否则返回值也是没有意义。...5.3、 函数可以返回多个数据 python函数比较特殊,在函数执行完成后,通过return关键字可以同时返回多个数据,调用函数地方根据返回顺序来接收对应返回值。

    4K10

    JS|函数返回

    我们先来看一组代码 function kunkun(aru){ console.log(aru)}kunkun('打篮球') 这个看似能输出结果,实则是在逻辑上是不合理,我们函数是做某件事或者实现某种功能...所以,接下来我会介绍一种逻辑更严谨代码。 解决方案 return语句 有的时候,我们希望函数返回返回给调用者,此时通过使用return语句就可以实现。...函数返回值格式 function 函数名(){ return 需要返回结果;}函数名(); 函数只是实现某种功能,最终结果需要返回函数调用者。是通过return来实现。...只要函数遇到return就会把后面的结果,返回函数调用者。...num2){ return num1 + num2;}console.log(sum(1,2)) 结果输出为:3 由此可知,不要在函数内部输出结果,应该return给函数调用者。

    11.4K10

    函数变量+返回

    函数变量: 局部变量 和 全局变量 Python中任何变量都有特定作用域 在函数中定义变量一般只能在该函数内部使用,这些只能在程序特定部分使用变量我们称之为局部变量 在一个文件顶部定义变量可供文件中任何函数调用...,这些可以为整个程序所使用变量称为全局变量 (1)、局部函数: #!.../usr/bin/python def fun(): x = 100 ##定义一个内部函数是 x = 100,只在fun() 内部有效。...输出结果: {'y': 1, 'x': 11} 函数返回值: 函数被调用后会返回一个指定函数调用后默认返回None 指定return 来返回一个值 返回值可以是任意类型 一旦return执行后...设计一个函数,接收一个英文单词,从文件中查询该单词汉语意思并返回

    4.9K40

    Python基础语法-函数-函数返回

    在Python中,函数可以返回一个值或多个值。函数返回值是指在函数执行完成后,将一个或多个值返回函数调用者。要从函数返回一个值,可以使用return语句。...以下是一个返回整数值简单函数示例:def square(x): return x * x在这里,square()函数接收一个参数x,并返回平方值。...如果我们调用square(5),则函数返回25。除了返回单个值外,Python函数还可以返回多个值。这可以通过将多个值打包成元组或列表来实现。...25)在这里,我们将get_name_and_age()函数返回值存储在person变量中,并将它打印出来。...# 输出 25在这里,我们将get_name_and_age()函数返回值解包,并将名字存储在name变量中,将年龄存储在age变量中。

    2K31

    【Kotlin】函数 ③ ( 匿名函数 | 匿名函数函数类型 | 匿名函数隐式返回 )

    文章目录 一、匿名函数 二、匿名函数函数类型 三、匿名函数隐式返回 一、匿名函数 ---- 声明函数时 , 没有 函数函数 是 匿名函数 ; 匿名函数 可以作为 函数参数 , 也可以作为 函数返回值...Boolean) 扩展函数 , 接收一个 (Char) -> Boolean 类型函数 , 用于 返回匹配给定 匿名函数 字符数 ; /** * 返回匹配给定[谓词 predicate 匿名函数...决定 ; 有 相同 参数顺序 , 参数个数 和 返回值类型 函数 , 其 函数类型相同 ; 如上个章节 , 扩展函数 CharSequence.count 接收匿名函数参数 predicate ,...= helloFun() println(str) } 执行结果 : Hello World 三、匿名函数隐式返回 ---- 普通函数 返回值 , 都是 显示返回 , 如 : 使用 return...关键字 , 返回返回值 ; 匿名函数 返回值 不需要使用 return 关键字 , 匿名函数 可以 隐式 返回 函数体最后一行语句 ; 代码示例 : 在匿名函数中 , 第一行是 Int 值 , 第二行是

    3K20

    python之函数返回

    这样不仅可以实现代码复用,还可以使代码更有条理性,增加代码可靠性。下面我们来介绍一下python函数返回值相关内容。...---- 二、函数返回函数并非总是直接输出数据,它还可以处理一些数据,并返回一个或一组值。函数返回值被称为返回值。在Python中,函数使用return语句返回值。...return语句用来退出函数并将程序返回函数被调用位置继续执行。 return语句可以同时返回0个、1个或多个结果给函数被调用处变量。   例:编写函数实现求两数中较小数。...def minimal(x, y): # 自定义计算较小值函数 if x > y: # 如果x>y成立,返回y值 return y else: # 否则返回x值...a和b值 s = input('请输入字符串') # 输入字符串 c = demo(s) # 调用函数返回a和b值给变量c print(c, type(c)) # 输出变量c及变量c类型

    2K30
    领券