62 lines
2.3 KiB
C
62 lines
2.3 KiB
C
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
// This structure is for the cache of brfinfohdr's
|
|
typedef struct _BrfExpensiveList
|
|
{
|
|
HWND hwndMain;
|
|
LPSHELLFOLDER psf;
|
|
LPBRIEFCASESTG pbrfstg;
|
|
HDPA hdpa; // Cache of expensive data
|
|
int idpaStaleCur;
|
|
int idpaUndeterminedCur;
|
|
int idpaDeletedCur;
|
|
HANDLE hSemPending; // Pending semaphore
|
|
CRITICAL_SECTION cs;
|
|
HANDLE hEventDie;
|
|
HANDLE hThreadPaint;
|
|
HANDLE hMutexDelay; // Not owned by BrfExp
|
|
BOOL bFreePending;
|
|
#ifdef DEBUG
|
|
UINT cUndetermined;
|
|
UINT cStale;
|
|
UINT cDeleted;
|
|
UINT cCSRef;
|
|
#endif
|
|
|
|
} BRFEXP, * PBRFEXP;
|
|
|
|
|
|
typedef struct _BrfView
|
|
{
|
|
LPBRIEFCASESTG pbrfstg;
|
|
LPITEMIDLIST pidlRoot; // Root of briefcase
|
|
LPCITEMIDLIST pidl;
|
|
PBRFEXP pbrfexp;
|
|
HANDLE hMutexDelay;
|
|
ULONG uSCNRExtra; // Extra SHChangeNotifyRegister for our pidl...
|
|
TCHAR szDBName[MAX_PATH];
|
|
|
|
} BrfView, * PBRFVIEW;
|
|
|
|
|
|
void BrfView_OnCreate(PBRFVIEW that, HWND hwndMain, HWND hwndView);
|
|
void BrfView_OnDestroy(PBRFVIEW that, HWND hwndView);
|
|
HRESULT BrfView_MergeMenu(PBRFVIEW that, LPQCMINFO pinfo);
|
|
HRESULT BrfView_Command(PBRFVIEW that, LPSHELLFOLDER psf, HWND hwnd, UINT uID);
|
|
HRESULT BrfView_InitMenuPopup(PBRFVIEW that, HWND hwnd, UINT idCmdFirst, int nIndex, HMENU hmenu);
|
|
void BrfView_OnGetButtons(PBRFVIEW that, HWND hwndMain, UINT idCmdFirst, LPTBBUTTON ptbbutton);
|
|
HRESULT BrfView_OnSelChange(PBRFVIEW that, HWND hwndMain, UINT idCmdFirst);
|
|
HRESULT BrfView_OnQueryFSNotify(PBRFVIEW that, SHChangeNotifyEntry * pfsne);
|
|
HRESULT BrfView_OnFSNotify(PBRFVIEW that, HWND hwndMain, LONG lEvent, LPCITEMIDLIST * ppidl);
|
|
HRESULT BrfView_OnGetDetailsOf(PBRFVIEW that, HWND hwndMain, UINT iColumn, PDETAILSINFO lpDetails);
|
|
HRESULT BrfView_OnNotifyCopyHook(PBRFVIEW that, HWND hwndMain, const COPYHOOKINFO * pchi);
|
|
HRESULT BrfView_OnInsertItem(PBRFVIEW that, HWND hwndMain, LPCITEMIDLIST pidl);
|
|
|
|
IShellFolderViewCB* BrfView_CreateSFVCB(IShellFolder* psf, PBRFVIEW pBVFolder);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|