[适用于 KMDF 和 UMDF]
WdfDriverOpenParametersRegistryKey 方法打开驱动程序 参数 注册表项,并检索表示密钥的框架注册表项对象的句柄。
语法
NTSTATUS WdfDriverOpenParametersRegistryKey(
[in] WDFDRIVER Driver,
[in] ACCESS_MASK DesiredAccess,
[in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
[out] WDFKEY *Key
);
参数
[in] Driver
驱动程序的框架驱动程序对象的句柄,该驱动程序从先前调用 WdfDriverCreate 或 WdfGetDriver获取。
[in] DesiredAccess
一个 ACCESS_MASK类型的值,该值指定 参数 注册表项的访问掩码。
KMDF 驱动程序通常请求 KEY_READ、KEY_WRITE或 KEY_READ |KEY_WRITE。
如果要编写 UMDF 驱动程序,请使用 KEY_READ 或 KEY_READ |KEY_SET_VALUE。
最佳做法是仅请求驱动程序所需的访问类型。
[in, optional] KeyAttributes
指向调用方分配 WDF_OBJECT_ATTRIBUTES 结构的指针,该结构指定框架注册表项对象的对象属性。 此参数是可选的,可以WDF_NO_OBJECT_ATTRIBUTES。
[out] Key
指向接收框架注册表项对象的句柄的位置的指针。
返回值
WdfDriverOpenParametersRegistryKey 如果作成功,则返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
UMDF 驱动程序在 DesiredAccess 参数中指定了以下标志之一:
由于上述值对 UMDF 驱动程序无效,因此通用标志(如GENERIC_ALL和STANDARD_RIGHTS_ALL)也会导致 WdfDriverOpenParametersRegistryKey 失败并返回此返回值。 |
有关返回值的详细信息,请参阅 Framework 对象创建错误。
此方法也可能返回其他 NTSTATUS 值。
如果 KMDF 驱动程序在 驱动程序中指定无效句柄,则会发生系统 bug 检查。
注解
驱动程序的 参数 键位于注册表 服务 树中。 如果驱动程序 参数 密钥不存在,则 WdfDriverOpenParametersRegistryKey 方法创建它。
驱动程序使用完 参数 注册表项后,驱动程序必须调用 WdfRegistryClose。
注释
UMDF 不支持创建子项。
有关注册表的详细信息,请参阅 Framework-Based 驱动程序 中使用注册表。
例子
下面的代码示例打开驱动程序的 Parameters 注册表项,并获取表示密钥的框架注册表项对象的句柄。
WDFKEY hKey;
status = WdfDriverOpenParametersRegistryKey(
Driver,
STANDARD_RIGHTS_ALL,
WDF_NO_OBJECT_ATTRIBUTES,
&hKey
);
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfdriver.h (包括 Wdf.h) |
图书馆 | Wdf01000.sys(KMDF):WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | DriverCreate(kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf) |