windows-nt/Source/XPSP1/NT/shell/shell32/enumuicommand.h
2020-09-26 16:20:57 +08:00

25 lines
1 KiB
C++

#ifndef _enumuicommand_h_
#define _enumuicommand_h_
// a helper class for defview and task implementations
class CWVTASKITEM
{
public:
HRESULT get_Name(const WVTASKITEM* pTask, IShellItemArray *psiItemArray, LPWSTR *ppszName);
HRESULT get_Icon(const WVTASKITEM* pTask, IShellItemArray *psiItemArray, LPWSTR *ppszIcon);
HRESULT get_Tooltip(const WVTASKITEM* pTask, IShellItemArray *psiItemArray, LPWSTR *ppszInfotip);
HRESULT get_CanonicalName(const WVTASKITEM* pTask, GUID* pguidCommandName);
HRESULT get_State(const WVTASKITEM* pTask, IUnknown* pv, IShellItemArray *psiItemArray, BOOL fOkToBeSlow, UISTATE* puisState);
HRESULT Invoke(const WVTASKITEM* pTask, IUnknown* pv, IShellItemArray *psiItemArray, IBindCtx *pbc);
CWVTASKITEM() {};
virtual ~CWVTASKITEM() {};
private:
HRESULT _get_String(const WVTASKITEM* pTask, DWORD dwIndex, LPWSTR* ppsz, DWORD cchMin, BOOL bIsIcon);
DWORD _GetSelectionState(const WVTASKITEM* pTask,IShellItemArray *psiItemArray);
};
#endif // _enumuicommand_h_