#include "shellprv.h"
#pragma  hdrstop


STDAPI PIF_AddPages(IDataObject *pdtobj, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
{
    STGMEDIUM medium;
    FORMATETC fmte = { CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};

    HRESULT hr = pdtobj->lpVtbl->GetData(pdtobj, &fmte, &medium);
    if (SUCCEEDED(hr))
    {
        HDROP hdrop = (HDROP)GlobalLock(medium.hGlobal);
        if (hdrop)
        {
            PifMgrDLL_Init();       // Initialize pif stuff

            PifPropGetPages(hdrop, pfnAddPage, lParam);
            GlobalUnlock(medium.hGlobal);
        }
        ReleaseStgMedium(&medium);
    }
    return S_OK;
}