Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104/* vfdshext.h
Virtual Floppy Drive for Windows Driver control library shell extension COM class header
Copyright (c) 2003-2005 Ken Kato*/
#ifndef _VFDSHEXT_H_#define _VFDSHEXT_H_
//// CVfdShExt// COM Shell extension class//class CVfdShExt : public IContextMenu, IShellExtInit, IShellPropSheetExt// IQueryInfo{protected: ULONG m_cRefCnt; // reference count LPDATAOBJECT m_pDataObj; // IDataObject pointer ULONG m_nDevice; // VFD device number CHAR m_sTarget[MAX_PATH]; // target path BOOL m_bDragDrop;
public: // constructor / destructor CVfdShExt(); ~CVfdShExt();
// perform VFD operations DWORD DoVfdOpen(HWND hParent); DWORD DoVfdNew(HWND hParent); DWORD DoVfdClose(HWND hParent); DWORD DoVfdSave(HWND hParent); DWORD DoVfdProtect(HWND hParent); DWORD DoVfdDrop(HWND hParent);
// get current attributes ULONG GetDevice() { return m_nDevice; } PCSTR GetTarget() { return m_sTarget; }
// IUnknown inheritance STDMETHODIMP QueryInterface(REFIID, LPVOID *); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
// IShellExtInit inheritance STDMETHODIMP Initialize( LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj, HKEY hKeyID);
// IContextMenu inheritance STDMETHODIMP QueryContextMenu( HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags);
STDMETHODIMP InvokeCommand( LPCMINVOKECOMMANDINFO lpcmi);
STDMETHODIMP GetCommandString(#ifndef __REACTOS__ UINT idCmd,#else UINT_PTR idCmd,#endif UINT uFlags, UINT *reserved, LPSTR pszName, UINT cchMax);
// IShellPropSheetExt inheritance STDMETHODIMP AddPages( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
STDMETHODIMP ReplacePage( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);/* // IQueryInfo inheritance
STDMETHODIMP GetInfoFlags( DWORD *pdwFlags);
STDMETHODIMP GetInfoTip( DWORD dwFlags, LPWSTR *ppwszTip);*/};
typedef CVfdShExt *LPCVFDSHEXT;
#endif // _VFDSHEXT_H_