CmGetDevicePanelRegKeyPath
void __fastcall CmGetDevicePanelRegKeyPath(
__int64 a1,
const wchar_t *a2,
int a3,
__int64 a4,
int a5,
NTSTRSAFE_PWSTR pszDest,
size_t cchDest,
__int64 a8){
__int64 v9;
unsigned __int64 v10;
UINT64 dwFlags;
if( a3 )
{
if( (a3 & 0xFFFFFE9F) == 0 && (int)CmValidateDevicePanelName(a1, a2) >= 0 )
{
v9 = -1i64;
do
++v9;
while( a2[v9] );
v10 = v9 + 47;
if( v10 <= 0xFFFFFFFF )
{
if( a8 )
*(_DWORD *)a8 = v10;
if( (unsigned int)v10 <= (unsigned int)cchDest )
{
LODWORD(dwFlags) = 2048;
RtlStringCchPrintfExW(
pszDest,
(unsigned int)cchDest,
0i64,
0i64,
dwFlags,
L"System\\CurrentControlSet\\Control\\DevicePanels\\%s",
a2);
}
}
}
}
}Referenced by:
CmDeleteDevicePanelRegKeyWorker
CmOpenDevicePanelRegKeyWorker
PiDqGetRelativeObjectRegPath