Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

97 lines
2.4 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 2000
//
// File: ShellExtensions.h
//
//--------------------------------------------------------------------------
#ifndef __SHELLEXTENSIONS_H
#define __SHELLEXTENSIONS_H
#define LI_WIN95 0x00000001
#define LI_NT4 0x00000002
#define LI_WIN98 0x00000004
#define LS_MAGIC 0x07036745
void InitLayerStorage(BOOL bDelete);
void CheckForRights(void);
//
// LayeredItemOperation flags
//
#define LIO_READITEM 1
#define LIO_ADDITEM 2
#define LIO_DELETEITEM 3
#ifndef ARRAYSIZE
#define ARRAYSIZE(rg) (sizeof(rg)/sizeof((rg)[0]))
#endif
typedef struct tagLayerStorageHeader {
DWORD dwItemCount; // number of items in the file
DWORD dwMagic; // magic to identify the file
SYSTEMTIME timeLast; // time of last access
} LayerStorageHeader, *PLayerStorageHeader;
typedef struct tagLayeredItem {
WCHAR szItemName[MAX_PATH];
DWORD dwFlags;
} LayeredItem, *PLayeredItem;
class CLayerUIPropPage:
protected IShellExtInit,
IShellPropSheetExt,
public CComObjectRoot,
public CComCoClass<CLayerUIPropPage, &CLSID_ShimLayerPropertyPage>
{
BEGIN_COM_MAP(CLayerUIPropPage)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IShellPropSheetExt)
END_COM_MAP()
public:
DECLARE_REGISTRY_CLSID()
CLayerUIPropPage();
~CLayerUIPropPage();
//
// IShellExtInit methods
//
STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder,
LPDATAOBJECT pDataObj,
HKEY hKeyID);
//
// IShellPropSheetExt methods
//
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage,
LPARAM lParam);
STDMETHODIMP ReplacePage(UINT uPageID,
LPFNADDPROPSHEETPAGE lpfnReplacePage,
LPARAM lParam);
friend INT_PTR CALLBACK
LayerPageDlgProc(HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
private:
CComPtr<IDataObject> m_spDataObj;
TCHAR m_szFile[MAX_PATH];
};
#endif // __SHELLEXTENSIONS_H