-HRESULT STDMETHODCALLTYPE CFolderItems::Item(VARIANT index, FolderItem **ppid)
+HRESULT STDMETHODCALLTYPE CFolderItems::Item(VARIANT var, FolderItem **ppid)
+ CComVariant index;
+ HRESULT hr;
+
if (!m_EnumIDList)
return E_FAIL;
if (!m_EnumIDList)
return E_FAIL;
+ hr = VariantCopyInd(&index, &var);
+ if (FAILED(hr))
+ return hr;
+
if (V_VT(&index) == VT_I2)
VariantChangeType(&index, &index, 0, VT_I4);
if (V_VT(&index) == VT_I2)
VariantChangeType(&index, &index, 0, VT_I4);
{
ULONG count = V_UI4(&index);
{
ULONG count = V_UI4(&index);
- HRESULT hr = m_EnumIDList->Reset();
+ hr = m_EnumIDList->Reset();
if (FAILED_UNEXPECTEDLY(hr))
return hr;
if (FAILED_UNEXPECTEDLY(hr))
return hr;
if (!V_BSTR(&index))
return S_FALSE;
if (!V_BSTR(&index))
return S_FALSE;
- HRESULT hr = m_Folder->ParseName(V_BSTR(&index), ppid);
+ hr = m_Folder->ParseName(V_BSTR(&index), ppid);
if (FAILED_UNEXPECTEDLY(hr))
return hr;
return hr;
if (FAILED_UNEXPECTEDLY(hr))
return hr;
return hr;