in PPLGuard/utils.cpp [370:389]
HANDLE ObjectManagerCreateDirectory(LPCWSTR dirname)
{
OBJECT_ATTRIBUTES oa = { 0 };
UNICODE_STRING name = { 0 };
HANDLE hDirectory = NULL;
NTSTATUS status = 0;
RtlInitUnicodeString(&name, dirname);
InitializeObjectAttributes(&oa, &name, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = NtCreateDirectoryObjectEx(&hDirectory, DIRECTORY_ALL_ACCESS, &oa, NULL, FALSE);
SetLastError(RtlNtStatusToDosError(status));
if (status != 0)
{
PrintLastError(L"NtCreateDirectoryObjectEx");
return NULL;
}
return hDirectory;
}