您的位置:首页 > 运维架构

IoOpenDeviceRegistryKey函数的使用

2010-08-10 15:15 435 查看
函数原型如下:

NTSTATUS IoOpenDeviceRegistryKey( IN PDEVICE_OBJECT DeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey );

其中DevInstKeyType为PLUGPLAY_REGKEY_DRIVER时,是操作HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{EF2962F0-0D55-4BFF-B8AA-2221EE8A79B0}\0000
DevInstKeyType为PLUGPLAY_REGKEY_DEVICE时,是操作HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ZHANGFANDEVICE\0000\Device Parameters

 

以下是测试代码:

HANDLE devInstRegKey;
NTSTATUS status = IoOpenDeviceRegistryKey (pdo,
    PLUGPLAY_REGKEY_DRIVER ,
    STANDARD_RIGHTS_ALL,
    &devInstRegKey);

UNICODE_STRING  ValueName;
RtlInitUnicodeString(&ValueName, L"MyValue1234");

ULONG Value = 0x12345678;

status = ZwSetValueKey(devInstRegKey, &ValueName, 0, REG_DWORD, &Value, sizeof(ULONG));

if (NT_SUCCESS(status)) {

    ZwClose(devInstRegKey);

} else {

    KdPrint(("write reg failed")); // handle error.

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: