HRESULT WINAPI SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo) { LPWSTR szRootPathW = NULL; int len; HRESULT hr; TRACE("%s, %p\n", debugstr_a(pszRootPath), pSHQueryRBInfo); if (pszRootPath) { len = MultiByteToWideChar(CP_ACP, 0, pszRootPath, -1, NULL, 0); if (len == 0) return HRESULT_FROM_WIN32(GetLastError()); szRootPathW = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); if (!szRootPathW) return E_OUTOFMEMORY; if (MultiByteToWideChar(CP_ACP, 0, pszRootPath, -1, szRootPathW, len) == 0) { HeapFree(GetProcessHeap(), 0, szRootPathW); return HRESULT_FROM_WIN32(GetLastError()); } } hr = SHQueryRecycleBinW(szRootPathW, pSHQueryRBInfo); HeapFree(GetProcessHeap(), 0, szRootPathW); return hr; }
HRESULT WINAPI SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo) { WCHAR wszRootPath[MAX_PATH]; MultiByteToWideChar(CP_ACP, 0, pszRootPath, -1, wszRootPath, MAX_PATH); return SHQueryRecycleBinW(wszRootPath, pSHQueryRBInfo); }