2 * PROJECT: ReactOS Zip Shell Extension
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Zip extraction
5 * COPYRIGHT: Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
10 static bool GetInterfaceName(const WCHAR
* InterfaceString
, WCHAR
* buf
, size_t size
)
13 DWORD dwType
= 0, dwDataSize
= size
* sizeof(WCHAR
);
15 if (!SUCCEEDED(StringCchPrintfW(LocalBuf
, _countof(LocalBuf
), L
"Interface\\%s", InterfaceString
)))
18 return SHRegGetValueW(HKEY_CLASSES_ROOT
, LocalBuf
, NULL
, RRF_RT_REG_SZ
, &dwType
, buf
, &dwDataSize
) == ERROR_SUCCESS
;
21 WCHAR
* guid2string(REFCLSID iid
)
23 static WCHAR buf
[2][300];
29 HRESULT hr
= ProgIDFromCLSID(iid
, &tmp
);
32 wcscpy(buf
[idx
], tmp
);
36 StringFromGUID2(iid
, buf
[idx
], _countof(buf
[idx
]));
37 if (GetInterfaceName(buf
[idx
], buf
[idx
], _countof(buf
[idx
])))
41 StringFromGUID2(iid
, buf
[idx
], _countof(buf
[idx
]));