Create CfCreateLocalAppDataObjectPath.cpp

This commit is contained in:
vxunderground 2022-07-17 08:37:35 -05:00 committed by GitHub
parent 6793b8ad08
commit c9a90cbf80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,46 @@
/*
pBuffer == OUT
Path == concatted, must have \\ in front i.e. L"\\File.exe"
Credit: smelly__vx
*/
BOOL CfCreateLocalAppDataObjectPathW(PWCHAR pBuffer, PWCHAR Path, DWORD Size, BOOL bDoesObjectExist)
{
if (pBuffer == NULL)
return FALSE;
if (RfGetEnvironmentVariableW(L"LOCALAPPDATA", pBuffer, Size) == 0)
return FALSE;
if (StringConcatW(pBuffer, Path) == 0)
return FALSE;
if (bDoesObjectExist)
{
if (!IsPathValidW(pBuffer))
return FALSE;
}
return TRUE;
}
BOOL CfCreateLocalAppDataObjectPathA(PCHAR pBuffer, PCHAR Path, DWORD Size, BOOL bDoesObjectExist)
{
if (pBuffer == NULL)
return FALSE;
if (RfGetEnvironmentVariableA("LOCALAPPDATA", pBuffer, Size) == 0)
return FALSE;
if (StringConcatA(pBuffer, Path) == 0)
return FALSE;
if (bDoesObjectExist)
{
if (!IsPathValidA(pBuffer))
return FALSE;
}
return TRUE;
}