PnpValidateRegistryValue

UINT8 __stdcall PnpValidateRegistryValue(_KEY_VALUE_FULL_INFORMATION *KeyValueInfo){
  ULONG Type; 
  UINT8 v2; 
  Type = KeyValueInfo->Type;
  v2 = 0;
  if( !Type )
    return 1;
  if( Type <= 2 )
    return PnpValidateStringData((PWCHAR)((char *)KeyValueInfo + KeyValueInfo->DataOffset), KeyValueInfo->DataLength);
  if( Type == 4 )
    return KeyValueInfo->DataLength == 4;
  if( Type == 7 )
    return PnpValidateMultiSzData((PWCHAR)((char *)KeyValueInfo + KeyValueInfo->DataOffset), KeyValueInfo->DataLength);
  if( Type != 0x8000 && Type != -1 )
    return 1;
  return v2;
}

Referenced by:

PiDevCfgResolveVariableConstant
PiDevCfgResolveVariableKeyCopy
PiDevCfgResolveVariableKeyValue