Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 315 of file assoc.c.
{ WCHAR szExtraW[MAX_PATH], *lpszExtraW = szExtraW; WCHAR szReturnW[MAX_PATH], *lpszReturnW = szReturnW; HRESULT hRet = E_OUTOFMEMORY; TRACE("(0x%8x,0x%8x,%p,%s,%p,%p)\n", cfFlags, str, hkAssoc, debugstr_a(pszExtra), pszOut, pcchOut); if (!pcchOut) hRet = E_INVALIDARG; else if (SHLWAPI_ParamAToW(pszExtra, szExtraW, MAX_PATH, &lpszExtraW)) { DWORD dwLenOut = *pcchOut; if (dwLenOut >= MAX_PATH) lpszReturnW = HeapAlloc(GetProcessHeap(), 0, (dwLenOut + 1) * sizeof(WCHAR)); if (lpszReturnW) { hRet = AssocQueryStringByKeyW(cfFlags, str, hkAssoc, lpszExtraW, lpszReturnW, &dwLenOut); if (SUCCEEDED(hRet)) WideCharToMultiByte(CP_ACP,0,szReturnW,-1,pszOut,dwLenOut,0,0); *pcchOut = dwLenOut; if (lpszReturnW != szReturnW) HeapFree(GetProcessHeap(), 0, lpszReturnW); } } if (lpszExtraW != szExtraW) HeapFree(GetProcessHeap(), 0, lpszExtraW); return hRet; }