Currently, if you try to parse unix path, it simply crashes. See this test:
```c
static void test_desktop_folder(void)
{
static WCHAR slash[] = { '/',0 };
IShellFolder *psf;
ITEMIDLIST *pidl;
DWORD eaten;
HRESULT hr;
hr = SHGetDesktopFolder(&psf);
ok(hr == S_OK, "Got %lx\n", hr);
hr = IShellFolder_QueryInterface(psf, &IID_IShellFolder, NULL);
ok(hr == E_POINTER, "Got %lx\n", hr);
hr = IShellFolder_ParseDisplayName(psf, NULL, NULL, slash, &eaten, &pidl, NULL);
ok(hr == S_OK /* wine */ || hr == E_INVALIDARG, "IShellFolder::ParseDisplayName returned 0x%08lx\n", hr);
if(hr == S_OK) ILFree(pidl);
IShellFolder_Release(psf);
}
```
I didn't add it to the patch because it has a wine-specific success here, due to unix integration, I'm not sure if that's allowed in tests? I'd be happy to add this as an actual test otherwise.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5225
Mainly useful for restoring objects marked temporary for test (see MR !5268).
--
v2: ntdll: Implement NtMakePermanentObject.
server: Generalize server request make_temporary to set_object_permanance.
ntdll/tests: Add tests for NtMakeTemporaryObject.
ntdll/tests: Add tests for OBJ_PERMANENT object attribute.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5279