Windows2000/private/shell/shell32/brfcase.h
2020-09-30 17:12:32 +02:00

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