PiDevCfgResetDeviceKeys
NTSTATUS __stdcall PiDevCfgResetDeviceKeys(
_DEVICE_NODE *DeviceNode,
PI_DEVCFG_DEVICE_CONTEXT *DeviceContext,
VOID *ClassKeyHandle){
INT64 v3;
NTSTATUS v6;
NTSTATUS v7;
INT64 v9;
__int64 v10;
INT64 v11;
INT64 v12;
int v13[2];
const wchar_t *v14;
_OBJECT_ATTRIBUTES ObjectAttributes;
VOID *KeyHandle;
v13[1] = 0;
*(&ObjectAttributes.Length + 1) = 0;
memset(&ObjectAttributes.Attributes + 1, 0, 20);
KeyHandle = 0i64;
v14 = L"Configuration\\Reset";
ObjectAttributes.RootDirectory = ClassKeyHandle;
ObjectAttributes.ObjectName = (_UNICODE_STRING *)v13;
v13[0] = 2621478;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 576;
v6 = ZwOpenKey(&KeyHandle, 0x20019ui64, &ObjectAttributes, v3, v9, v10, v11, v12);
v7 = v6;
if( v6 == -1073741772 )
{
v7 = 0;
}
else if( v6 >= 0 )
{
v7 = PiDevCfgEnumDeviceKeys(
(__int64)DeviceNode,
(__int64)DeviceContext,
(__int64)KeyHandle,
-1,
0,
(__int64)PiDevCfgResetDeviceKeyCallback,
0i64);
}
if( KeyHandle )
ZwClose((_HANDLE)KeyHandle);
return v7;
}Referenced by:
PiDevCfgResetDeviceDriverSettings