4 Virtual Floppy Drive for Windows
6 shell extension COM class header
8 Copyright (c) 2003-2005 Ken Kato
16 // COM Shell extension class
18 class CVfdShExt
: public IContextMenu
,
24 ULONG m_cRefCnt
; // reference count
25 LPDATAOBJECT m_pDataObj
; // IDataObject pointer
26 ULONG m_nDevice
; // VFD device number
27 CHAR m_sTarget
[MAX_PATH
]; // target path
31 // constructor / destructor
35 // perform VFD operations
36 DWORD
DoVfdOpen(HWND hParent
);
37 DWORD
DoVfdNew(HWND hParent
);
38 DWORD
DoVfdClose(HWND hParent
);
39 DWORD
DoVfdSave(HWND hParent
);
40 DWORD
DoVfdProtect(HWND hParent
);
41 DWORD
DoVfdDrop(HWND hParent
);
43 // get current attributes
44 ULONG
GetDevice() { return m_nDevice
; }
45 PCSTR
GetTarget() { return m_sTarget
; }
47 // IUnknown inheritance
48 STDMETHODIMP
QueryInterface(REFIID
, LPVOID
*);
49 STDMETHODIMP_(ULONG
) AddRef();
50 STDMETHODIMP_(ULONG
) Release();
52 // IShellExtInit inheritance
53 STDMETHODIMP
Initialize(
54 LPCITEMIDLIST pIDFolder
,
55 LPDATAOBJECT pDataObj
,
58 // IContextMenu inheritance
59 STDMETHODIMP
QueryContextMenu(
66 STDMETHODIMP
InvokeCommand(
67 LPCMINVOKECOMMANDINFO lpcmi
);
69 STDMETHODIMP
GetCommandString(
76 // IShellPropSheetExt inheritance
77 STDMETHODIMP
AddPages(
78 LPFNADDPROPSHEETPAGE lpfnAddPage
,
81 STDMETHODIMP
ReplacePage(
83 LPFNADDPROPSHEETPAGE lpfnReplaceWith
,
86 // IQueryInfo inheritance
88 STDMETHODIMP GetInfoFlags(
91 STDMETHODIMP GetInfoTip(
97 typedef CVfdShExt
*LPCVFDSHEXT
;
99 #endif // _VFDSHEXT_H_