107 lines
2.1 KiB
C++
107 lines
2.1 KiB
C++
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||
|
//
|
||
|
// File: share.hxx
|
||
|
//
|
||
|
// Contents: CShare class definition to handle Sharing context menu
|
||
|
// and property sheet shell extensions.
|
||
|
//
|
||
|
// History: 4-Apr-95 BruceFo Created
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _SHARE_HXX_
|
||
|
#define _SHARE_HXX_
|
||
|
|
||
|
class CShare
|
||
|
: public IShellExtInit,
|
||
|
public IShellPropSheetExt,
|
||
|
public IContextMenu
|
||
|
{
|
||
|
DECLARE_SIG;
|
||
|
|
||
|
public:
|
||
|
|
||
|
CShare();
|
||
|
~CShare();
|
||
|
|
||
|
//
|
||
|
// IUnknown methods
|
||
|
//
|
||
|
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
|
||
|
STDMETHOD_(ULONG,AddRef)();
|
||
|
STDMETHOD_(ULONG,Release)();
|
||
|
|
||
|
//
|
||
|
// IShellExtInit methods
|
||
|
//
|
||
|
|
||
|
STDMETHOD(Initialize)(
|
||
|
LPCITEMIDLIST pidlFolder,
|
||
|
LPDATAOBJECT pDataObject,
|
||
|
HKEY hkeyProgID);
|
||
|
|
||
|
//
|
||
|
// IShellPropSheetExt methods
|
||
|
//
|
||
|
|
||
|
STDMETHOD(AddPages)(
|
||
|
LPFNADDPROPSHEETPAGE lpfnAddPage,
|
||
|
LPARAM lParam);
|
||
|
|
||
|
STDMETHOD(ReplacePage)(
|
||
|
UINT uPageID,
|
||
|
LPFNADDPROPSHEETPAGE lpfnReplaceWith,
|
||
|
LPARAM lParam);
|
||
|
|
||
|
//
|
||
|
// IContextMenu methods
|
||
|
//
|
||
|
|
||
|
STDMETHOD(QueryContextMenu)(
|
||
|
HMENU hmenu,
|
||
|
UINT indexMenu,
|
||
|
UINT idCmdFirst,
|
||
|
UINT idCmdLast,
|
||
|
UINT uFlags);
|
||
|
|
||
|
STDMETHOD(InvokeCommand)(
|
||
|
LPCMINVOKECOMMANDINFO lpici);
|
||
|
|
||
|
STDMETHOD(GetCommandString)(
|
||
|
UINT_PTR idCmd,
|
||
|
UINT uType,
|
||
|
UINT* pwReserved,
|
||
|
LPSTR pszName,
|
||
|
UINT cchMax);
|
||
|
|
||
|
private:
|
||
|
|
||
|
HRESULT
|
||
|
_GetFSObject(
|
||
|
LPWSTR lpPath,
|
||
|
UINT cbMaxPath
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
_IsShareableDrive(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
_OKToShare(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
ULONG _uRefs; // OLE reference count
|
||
|
TCHAR _szPath[MAX_PATH];
|
||
|
BOOL _fPathChecked;
|
||
|
BOOL _fOkToSharePath;
|
||
|
BOOL _fMultipleSharesSelected;
|
||
|
};
|
||
|
|
||
|
#endif // _SHARE_HXX_
|