[SHELL32]

- Implement SHCreateSessionKey
- Formatting of shlview.cpp

svn path=/trunk/; revision=54714
This commit is contained in:
Rafal Harabien 2011-12-20 19:56:46 +00:00
parent f714427f9a
commit 673f93ef3b
3 changed files with 426 additions and 396 deletions

View file

@ -135,10 +135,54 @@ EXTERN_C HRESULT WINAPI SHRegDeleteKeyW(
/*************************************************************************
* SHRegCloseKey [SHELL32.505] NT 4.0
*
*/
EXTERN_C HRESULT WINAPI SHRegCloseKey (HKEY hkey)
{
TRACE("%p\n",hkey);
return RegCloseKey( hkey );
}
/*************************************************************************
* SHCreateSessionKey [SHELL32.723]
*/
EXTERN_C HRESULT
WINAPI
SHCreateSessionKey(REGSAM samDesired, PHKEY phKey)
{
static HKEY hSessionKey = NULL;
HRESULT hr = S_OK;
if (!hSessionKey)
{
HANDLE hToken;
if (OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &hToken))
{
TOKEN_STATISTICS Stats;
DWORD ReturnLength;
if (GetTokenInformation(hToken, TokenStatistics, &Stats, sizeof(Stats), &ReturnLength))
{
WCHAR wszBuf[256];
LONG Error;
swprintf(wszBuf,
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\SessionInfo\\%08x%08x",
Stats.AuthenticationId.HighPart, Stats.AuthenticationId.LowPart);
Error = RegCreateKeyExW(HKEY_LOCAL_MACHINE, wszBuf, 0, NULL, REG_OPTION_VOLATILE, samDesired, NULL, &hSessionKey, NULL);
if (Error != ERROR_SUCCESS)
hr = HRESULT_FROM_WIN32(Error);
}
else
hr = HRESULT_FROM_WIN32(GetLastError());
CloseHandle(hToken);
}
else
hr = HRESULT_FROM_WIN32(GetLastError());
}
*phKey = hSessionKey;
return hr;
}

View file

@ -54,13 +54,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
#undef SV_CLASS_NAME
static const WCHAR SV_CLASS_NAME[] = {'S','H','E','L','L','D','L','L','_','D','e','f','V','i','e','w',0};
static const WCHAR SV_CLASS_NAME[] = {'S', 'H', 'E', 'L', 'L', 'D', 'L', 'L', '_', 'D', 'e', 'f', 'V', 'i', 'e', 'w', 0};
typedef struct
{ BOOL bIsAscending;
INT nHeaderID;
INT nLastHeaderID;
}LISTVIEW_SORT_INFO, *LPLISTVIEW_SORT_INFO;
} LISTVIEW_SORT_INFO, *LPLISTVIEW_SORT_INFO;
#define SHV_CHANGE_NOTIFY WM_USER + 0x1111
@ -75,7 +75,7 @@ class CDefView :
public IViewObject,
public IServiceProvider
{
private:
private:
CComPtr<IShellFolder> pSFParent;
CComPtr<IShellFolder2> pSF2Parent;
CComPtr<IShellBrowser> pShellBrowser;
@ -101,7 +101,7 @@ private:
POINT ptLastMousePos; /* Mouse position at last DragOver call */
//
CComPtr<IContextMenu2> pCM;
public:
public:
CDefView();
~CDefView();
HRESULT WINAPI Initialize(IShellFolder *shellFolder);
@ -214,7 +214,8 @@ public:
{
{ sizeof(WNDCLASSEX), 0, StartWindowProc,
0, 0, NULL, NULL,
LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_BACKGROUND + 1), NULL, SV_CLASS_NAME, NULL },
LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_BACKGROUND + 1), NULL, SV_CLASS_NAME, NULL
},
NULL, NULL, IDC_ARROW, TRUE, 0, _T("")
};
return wc;
@ -238,7 +239,7 @@ public:
return result;
}
BEGIN_MSG_MAP(CDefView)
BEGIN_MSG_MAP(CDefView)
MESSAGE_HANDLER(WM_SIZE, OnSize)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
@ -256,9 +257,9 @@ BEGIN_MSG_MAP(CDefView)
MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground)
MESSAGE_HANDLER(WM_SYSCOLORCHANGE, OnSysColorChange)
MESSAGE_HANDLER(CWM_GETISHELLBROWSER, OnGetShellBrowser)
END_MSG_MAP()
END_MSG_MAP()
BEGIN_COM_MAP(CDefView)
BEGIN_COM_MAP(CDefView)
COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow)
COM_INTERFACE_ENTRY_IID(IID_IShellView, IShellView)
COM_INTERFACE_ENTRY_IID(IID_IFolderView, IFolderView)
@ -267,7 +268,7 @@ BEGIN_COM_MAP(CDefView)
COM_INTERFACE_ENTRY_IID(IID_IDropSource, IDropSource)
COM_INTERFACE_ENTRY_IID(IID_IViewObject, IViewObject)
COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider)
END_COM_MAP()
END_COM_MAP()
};
/* ListView Header ID's */
@ -303,11 +304,11 @@ typedef struct
static const MYTOOLINFO Tools[] =
{
{ FCIDM_SHVIEW_BIGICON, 0, 0, IDS_VIEW_LARGE, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_SMALLICON, 0, 0, IDS_VIEW_SMALL, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_LISTVIEW, 0, 0, IDS_VIEW_LIST, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_REPORTVIEW, 0, 0, IDS_VIEW_DETAILS, TBSTATE_ENABLED, BTNS_BUTTON },
{ -1, 0, 0, 0, 0, 0}
{ FCIDM_SHVIEW_BIGICON, 0, 0, IDS_VIEW_LARGE, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_SMALLICON, 0, 0, IDS_VIEW_SMALL, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_LISTVIEW, 0, 0, IDS_VIEW_LIST, TBSTATE_ENABLED, BTNS_BUTTON },
{ FCIDM_SHVIEW_REPORTVIEW, 0, 0, IDS_VIEW_DETAILS, TBSTATE_ENABLED, BTNS_BUTTON },
{ -1, 0, 0, 0, 0, 0}
};
typedef void (CALLBACK *PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
@ -410,9 +411,9 @@ void CDefView::CheckToolbar()
if (pCommDlgBrowser != NULL)
{
pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_CHECKBUTTON,
FCIDM_TB_SMALLICON, (FolderSettings.ViewMode==FVM_LIST)? TRUE : FALSE, &result);
FCIDM_TB_SMALLICON, (FolderSettings.ViewMode == FVM_LIST) ? TRUE : FALSE, &result);
pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_CHECKBUTTON,
FCIDM_TB_REPORTVIEW, (FolderSettings.ViewMode==FVM_DETAILS)? TRUE : FALSE, &result);
FCIDM_TB_REPORTVIEW, (FolderSettings.ViewMode == FVM_DETAILS) ? TRUE : FALSE, &result);
pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_ENABLEBUTTON,
FCIDM_TB_SMALLICON, TRUE, &result);
pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_ENABLEBUTTON,
@ -445,7 +446,7 @@ void CDefView::SetStyle(DWORD dwAdd, DWORD dwRemove)
BOOL CDefView::CreateList()
{ DWORD dwStyle, dwExStyle;
TRACE("%p\n",this);
TRACE("%p\n", this);
dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_AUTOARRANGE;
@ -491,11 +492,11 @@ BOOL CDefView::CreateList()
if (FolderSettings.fFlags & FWF_NOCLIENTEDGE)
dwExStyle &= ~WS_EX_CLIENTEDGE;
hWndList=CreateWindowExW( dwExStyle,
hWndList = CreateWindowExW( dwExStyle,
WC_LISTVIEWW,
NULL,
dwStyle,
0,0,0,0,
0, 0, 0, 0,
m_hWnd,
(HMENU)ID_LISTVIEW,
shell32_hInstance,
@ -526,7 +527,7 @@ BOOL CDefView::CreateList()
SendMessageW(hWndList, LVM_SETBKCOLOR, 0, GetSysColor(COLOR_DESKTOP));
}
SendMessageW(hWndList, LVM_SETTEXTCOLOR, 0, RGB(255,255,255));
SendMessageW(hWndList, LVM_SETTEXTCOLOR, 0, RGB(255, 255, 255));
}
/* UpdateShellSettings(); */
@ -544,7 +545,7 @@ BOOL CDefView::InitList()
SHELLDETAILS sd;
WCHAR szTemp[50];
TRACE("%p\n",this);
TRACE("%p\n", this);
SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0);
@ -553,13 +554,13 @@ BOOL CDefView::InitList()
if (pSF2Parent)
{
for (int i=0; 1; i++)
for (int i = 0; 1; i++)
{
if (FAILED(pSF2Parent->GetDetailsOf(NULL, i, &sd)))
break;
lvColumn.fmt = sd.fmt;
lvColumn.cx = sd.cxChar*8; /* chars->pixel */
lvColumn.cx = sd.cxChar * 8; /* chars->pixel */
StrRetToStrNW( szTemp, 50, &sd.str, NULL);
SendMessageW(hWndList, LVM_INSERTCOLUMNW, i, (LPARAM) &lvColumn);
}
@ -590,7 +591,7 @@ INT CALLBACK CDefView::CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpDat
return 0;
ret = (SHORT)SCODE_CODE(((IShellFolder *)lpData)->CompareIDs(0, (LPITEMIDLIST)lParam1, (LPITEMIDLIST)lParam2));
TRACE("ret=%i\n",ret);
TRACE("ret=%i\n", ret);
return ret;
}
@ -621,10 +622,10 @@ INT CALLBACK CDefView::CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpDat
*/
INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData)
{
INT nDiff=0;
INT nDiff = 0;
FILETIME fd1, fd2;
char strName1[MAX_PATH], strName2[MAX_PATH];
BOOL bIsFolder1, bIsFolder2,bIsBothFolder;
BOOL bIsFolder1, bIsFolder2, bIsBothFolder;
LPITEMIDLIST pItemIdList1 = (LPITEMIDLIST) lParam1;
LPITEMIDLIST pItemIdList2 = (LPITEMIDLIST) lParam2;
LISTVIEW_SORT_INFO *pSortInfo = (LPLISTVIEW_SORT_INFO) lpData;
@ -812,13 +813,13 @@ HRESULT CDefView::FillList()
HRESULT hRes;
HDPA hdpa;
TRACE("%p\n",this);
TRACE("%p\n", this);
/* get the itemlist from the shfolder*/
hRes = pSFParent->EnumObjects(m_hWnd, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS, &pEnumIDList);
if (hRes != S_OK)
{
if (hRes==S_FALSE)
if (hRes == S_FALSE)
return(NOERROR);
return(hRes);
}
@ -904,7 +905,7 @@ LRESULT CDefView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
SHChangeNotifyEntry ntreg;
CComPtr<IPersistFolder2> ppf2;
TRACE("%p\n",this);
TRACE("%p\n", this);
if(CreateList())
{
@ -942,16 +943,16 @@ LRESULT CDefView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
HMENU CDefView::BuildFileMenu()
{ WCHAR szText[MAX_PATH];
MENUITEMINFOW mii;
int nTools,i;
int nTools, i;
HMENU hSubMenu;
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
hSubMenu = CreatePopupMenu();
if (hSubMenu)
{
/*get the number of items in our global array*/
for(nTools = 0; Tools[nTools].idCommand != -1; nTools++){}
for(nTools = 0; Tools[nTools].idCommand != -1; nTools++) {}
/*add the menu items*/
for(i = 0; i < nTools; i++)
@ -974,11 +975,11 @@ HMENU CDefView::BuildFileMenu()
mii.fType = MFT_SEPARATOR;
}
/* tack This item onto the end of the menu */
InsertMenuItemW(hSubMenu, (UINT)-1, TRUE, &mii);
InsertMenuItemW(hSubMenu, (UINT) - 1, TRUE, &mii);
}
}
TRACE("-- return (menu=%p)\n",hSubMenu);
TRACE("-- return (menu=%p)\n", hSubMenu);
return hSubMenu;
}
@ -987,7 +988,7 @@ HMENU CDefView::BuildFileMenu()
*/
void CDefView::MergeFileMenu(HMENU hSubMenu)
{
TRACE("(%p)->(submenu=%p) stub\n",this,hSubMenu);
TRACE("(%p)->(submenu=%p) stub\n", this, hSubMenu);
if (hSubMenu)
{ /*insert This item at the beginning of the menu */
@ -1003,7 +1004,7 @@ void CDefView::MergeFileMenu(HMENU hSubMenu)
*/
void CDefView::MergeViewMenu(HMENU hSubMenu)
{
TRACE("(%p)->(submenu=%p)\n",this,hSubMenu);
TRACE("(%p)->(submenu=%p)\n", this, hSubMenu);
if (hSubMenu)
{
@ -1182,7 +1183,7 @@ HRESULT CDefView::OpenSelectedItems()
pIDList = (LPIDA)GlobalLock(stgm.hGlobal);
parent_pidl = (LPCITEMIDLIST) ((LPBYTE)pIDList+pIDList->aoffset[0]);
parent_pidl = (LPCITEMIDLIST) ((LPBYTE)pIDList + pIDList->aoffset[0]);
hr = pSFParent->GetAttributesOf(1, &parent_pidl, &attribs);
if (SUCCEEDED(hr) && (attribs & SFGAO_FILESYSTEM) &&
SHGetPathFromIDListW(parent_pidl, parent_path))
@ -1194,7 +1195,7 @@ HRESULT CDefView::OpenSelectedItems()
{
LPCITEMIDLIST pidl;
pidl = (LPCITEMIDLIST)((LPBYTE)pIDList+pIDList->aoffset[i]);
pidl = (LPCITEMIDLIST)((LPBYTE)pIDList + pIDList->aoffset[i]);
attribs = SFGAO_FOLDER;
hr = pSFParent->GetAttributesOf(1, &pidl, &attribs);
@ -1232,7 +1233,6 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
{
WORD x;
WORD y;
BOOL bDefault;
UINT uCommand;
DWORD wFlags;
HMENU hMenu;
@ -1247,9 +1247,8 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
x = LOWORD(lParam);
y = HIWORD(lParam);
bDefault = FALSE;
TRACE("(%p)->(0x%08x 0x%08x 0x%08x) stub\n",this, x, y, bDefault);
TRACE("(%p)->(0x%08x 0x%08x) stub\n", this, x, y);
fExplore = FALSE;
hwndTree = NULL;
@ -1284,29 +1283,19 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
if (FolderSettings.fFlags & FWF_DESKTOP)
SetMenuDefaultItem(hMenu, FCIDM_SHVIEW_OPEN, MF_BYCOMMAND);
if (bDefault)
{
TRACE("-- get menu default command\n");
uCommand = GetMenuDefaultItem(hMenu, FALSE, GMDI_GOINTOPOPUPS);
}
else
{
TRACE("-- track popup\n");
uCommand = TrackPopupMenu( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL);
}
uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD, x, y, 0, m_hWnd, NULL);
if (uCommand > 0)
{
TRACE("-- uCommand=%u\n", uCommand);
if (uCommand==FCIDM_SHVIEW_OPEN && pCommDlgBrowser.p != NULL)
if (uCommand == FCIDM_SHVIEW_OPEN && pCommDlgBrowser.p != NULL)
{
TRACE("-- dlg: OnDefaultCommand\n");
if (OnDefaultCommand() != S_OK)
{
OpenSelectedItems();
}
}
else
{
TRACE("-- explore -- invoke command\n");
@ -1332,10 +1321,10 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
CDefFolderMenu_Create2(NULL, NULL, cidl, (LPCITEMIDLIST*)apidl, pSFParent, NULL, 0, NULL, (IContextMenu**)&pCM);
pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, 0);
uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL);
uCommand = TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_RETURNCMD, x, y, 0, m_hWnd, NULL);
DestroyMenu(hMenu);
TRACE("-- (%p)->(uCommand=0x%08x )\n",this, uCommand);
TRACE("-- (%p)->(uCommand=0x%08x )\n", this, uCommand);
ZeroMemory(&cmi, sizeof(cmi));
cmi.cbSize = sizeof(cmi);
@ -1383,7 +1372,7 @@ LRESULT CDefView::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled
*/
void CDefView::OnDeactivate()
{
TRACE("%p\n",this);
TRACE("%p\n", this);
if (uState != SVUIA_DEACTIVATE)
{
@ -1427,7 +1416,7 @@ void CDefView::DoActivate(UINT uState)
TRACE("-- after fnInsertMenusSB\n");
/*build the top level menu get the menu item's text*/
strcpy(szText,"dummy 31");
strcpy(szText, "dummy 31");
ZeroMemory(&mii, sizeof(mii));
mii.cbSize = sizeof(mii);
@ -1538,7 +1527,7 @@ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand
dwCmd = GET_WM_COMMAND_CMD(wParam, lParam);
hwndCmd = GET_WM_COMMAND_HWND(wParam, lParam);
TRACE("(%p)->(0x%08x 0x%08x %p) stub\n",this, dwCmdID, dwCmd, hwndCmd);
TRACE("(%p)->(0x%08x 0x%08x %p) stub\n", this, dwCmdID, dwCmd, hwndCmd);
switch (dwCmdID)
{
@ -1602,7 +1591,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
lpnmlv = (LPNMLISTVIEW)lpnmh;
lpdi = (NMLVDISPINFOW *)lpnmh;
TRACE("%p CtlID=%u lpnmh->code=%x\n",this,CtlID,lpnmh->code);
TRACE("%p CtlID=%u lpnmh->code=%x\n", this, CtlID, lpnmh->code);
switch (lpnmh->code)
{
@ -1699,12 +1688,12 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
/* shouldn't happen */
NMLVDISPINFOA *lpdiA = (NMLVDISPINFOA *)lpnmh;
StrRetToStrNA( lpdiA->item.pszText, lpdiA->item.cchTextMax, &sd.str, NULL);
TRACE("-- text=%s\n",lpdiA->item.pszText);
TRACE("-- text=%s\n", lpdiA->item.pszText);
}
else /* LVN_GETDISPINFOW */
{
StrRetToStrNW( lpdi->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL);
TRACE("-- text=%s\n",debugstr_w(lpdi->item.pszText));
TRACE("-- text=%s\n", debugstr_w(lpdi->item.pszText));
}
}
else
@ -1734,7 +1723,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
DWORD dwAttributes = SFGAO_CANLINK;
DWORD dwEffect = DROPEFFECT_COPY | DROPEFFECT_MOVE;
if (SUCCEEDED(pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, IID_IDataObject,0,(LPVOID *)&pda)))
if (SUCCEEDED(pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, IID_IDataObject, 0, (LPVOID *)&pda)))
{
IDropSource * pds = (IDropSource *)this; /* own DropSource interface */
@ -1829,9 +1818,9 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
SendMessageW(hWndList, LVM_EDITLABELW, i, 0);
}
}
#if 0
#if 0
TranslateAccelerator(m_hWnd, hAccel, &msg)
#endif
#endif
else if(plvKeyDown->wVKey == VK_DELETE)
{
UINT i;
@ -2019,7 +2008,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
break;
}
else
FIXME("LVN_KEYDOWN key=0x%08x\n",plvKeyDown->wVKey);
FIXME("LVN_KEYDOWN key=0x%08x\n", plvKeyDown->wVKey);
}
break;
@ -2098,7 +2087,7 @@ LRESULT CDefView::OnCustomItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bH
*/
HRESULT WINAPI CDefView::GetWindow(HWND *phWnd)
{
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
*phWnd = m_hWnd;
@ -2107,7 +2096,7 @@ HRESULT WINAPI CDefView::GetWindow(HWND *phWnd)
HRESULT WINAPI CDefView::ContextSensitiveHelp(BOOL fEnterMode)
{
FIXME("(%p) stub\n",this);
FIXME("(%p) stub\n", this);
return E_NOTIMPL;
}
@ -2121,12 +2110,12 @@ HRESULT WINAPI CDefView::ContextSensitiveHelp(BOOL fEnterMode)
HRESULT WINAPI CDefView::TranslateAccelerator(LPMSG lpmsg)
{
#if 0
FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%x wp=%x) stub\n",this,lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam);
FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%x wp=%x) stub\n", this, lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam);
#endif
if (lpmsg->message >= WM_KEYFIRST && lpmsg->message >= WM_KEYLAST)
{
TRACE("-- key=0x04%lx\n",lpmsg->wParam) ;
TRACE("-- key=0x04%lx\n", lpmsg->wParam) ;
}
return S_FALSE; /* not handled */
@ -2134,20 +2123,20 @@ HRESULT WINAPI CDefView::TranslateAccelerator(LPMSG lpmsg)
HRESULT WINAPI CDefView::EnableModeless(BOOL fEnable)
{
FIXME("(%p) stub\n",this);
FIXME("(%p) stub\n", this);
return E_NOTIMPL;
}
HRESULT WINAPI CDefView::UIActivate(UINT uState)
{
/*
/*
CHAR szName[MAX_PATH];
*/
*/
LRESULT lResult;
int nPartArray[1] = {-1};
int nPartArray[1] = { -1};
TRACE("(%p)->(state=%x) stub\n",this, uState);
TRACE("(%p)->(state=%x) stub\n", this, uState);
/*don't do anything if the state isn't really changing*/
if (uState == uState)
@ -2180,7 +2169,7 @@ HRESULT WINAPI CDefView::UIActivate(UINT uState)
HRESULT WINAPI CDefView::Refresh()
{
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0);
FillList();
@ -2192,7 +2181,7 @@ HRESULT WINAPI CDefView::CreateViewWindow(IShellView *lpPrevView, LPCFOLDERSETTI
{
*phWnd = 0;
TRACE("(%p)->(shlview=%p set=%p shlbrs=%p rec=%p hwnd=%p) incomplete\n",this, lpPrevView,lpfs, psb, prcView, phWnd);
TRACE("(%p)->(shlview=%p set=%p shlbrs=%p rec=%p hwnd=%p) incomplete\n", this, lpPrevView, lpfs, psb, prcView, phWnd);
if (lpfs != NULL)
TRACE("-- vmode=%x flags=%x\n", lpfs->ViewMode, lpfs->fFlags);
@ -2236,7 +2225,7 @@ HRESULT WINAPI CDefView::CreateViewWindow(IShellView *lpPrevView, LPCFOLDERSETTI
HRESULT WINAPI CDefView::DestroyViewWindow()
{
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
/*Make absolutely sure all our UI is cleaned up.*/
UIActivate(SVUIA_DEACTIVATE);
@ -2255,7 +2244,7 @@ HRESULT WINAPI CDefView::DestroyViewWindow()
HRESULT WINAPI CDefView::GetCurrentInfo(LPFOLDERSETTINGS lpfs)
{
TRACE("(%p)->(%p) vmode=%x flags=%x\n",this, lpfs,
TRACE("(%p)->(%p) vmode=%x flags=%x\n", this, lpfs,
FolderSettings.ViewMode, FolderSettings.fFlags);
if (!lpfs)
@ -2265,16 +2254,16 @@ HRESULT WINAPI CDefView::GetCurrentInfo(LPFOLDERSETTINGS lpfs)
return NOERROR;
}
HRESULT WINAPI CDefView::AddPropertySheetPages(DWORD dwReserved,LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam)
HRESULT WINAPI CDefView::AddPropertySheetPages(DWORD dwReserved, LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam)
{
FIXME("(%p) stub\n",this);
FIXME("(%p) stub\n", this);
return E_NOTIMPL;
}
HRESULT WINAPI CDefView::SaveViewState()
{
FIXME("(%p) stub\n",this);
FIXME("(%p) stub\n", this);
return S_OK;
}
@ -2283,7 +2272,7 @@ HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags)
{
int i;
TRACE("(%p)->(pidl=%p, 0x%08x) stub\n",this, pidl, uFlags);
TRACE("(%p)->(pidl=%p, 0x%08x) stub\n", this, pidl, uFlags);
i = LV_FindItemByPidl(pidl);
@ -2333,7 +2322,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
{
HRESULT hr = E_NOINTERFACE;
TRACE("(%p)->(uItem=0x%08x,\n\tIID=%s, ppv=%p)\n",this, uItem, debugstr_guid(&riid), ppvOut);
TRACE("(%p)->(uItem=0x%08x,\n\tIID=%s, ppv=%p)\n", this, uItem, debugstr_guid(&riid), ppvOut);
*ppvOut = NULL;
@ -2357,7 +2346,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
break;
}
TRACE("-- (%p)->(interface=%p)\n",this, *ppvOut);
TRACE("-- (%p)->(interface=%p)\n", this, *ppvOut);
return hr;
}
@ -2387,10 +2376,18 @@ HRESULT STDMETHODCALLTYPE CDefView::SetCurrentViewMode(UINT ViewMode)
means. */
switch (ViewMode)
{
case FVM_ICON: dwStyle = LVS_ICON; break;
case FVM_DETAILS: dwStyle = LVS_REPORT; break;
case FVM_SMALLICON: dwStyle = LVS_SMALLICON; break;
case FVM_LIST: dwStyle = LVS_LIST; break;
case FVM_ICON:
dwStyle = LVS_ICON;
break;
case FVM_DETAILS:
dwStyle = LVS_REPORT;
break;
case FVM_SMALLICON:
dwStyle = LVS_SMALLICON;
break;
case FVM_LIST:
dwStyle = LVS_LIST;
break;
default:
{
FIXME("ViewMode %d not implemented\n", ViewMode);
@ -2550,7 +2547,7 @@ HRESULT WINAPI CDefView::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLE
if (!prgCmds)
return E_INVALIDARG;
for (UINT i=0; i < cCmds; i++)
for (UINT i = 0; i < cCmds; i++)
{
FIXME("\tprgCmds[%d].cmdID = %d\n", i, prgCmds[i].cmdID);
prgCmds[i].cmdf = 0;
@ -2737,7 +2734,7 @@ HRESULT WINAPI CDefView::Drop(IDataObject* pDataObject, DWORD grfKeyState, POINT
HRESULT WINAPI CDefView::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
{
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
if (fEscapePressed)
return DRAGDROP_S_CANCEL;
@ -2749,7 +2746,7 @@ HRESULT WINAPI CDefView::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyStat
HRESULT WINAPI CDefView::GiveFeedback(DWORD dwEffect)
{
TRACE("(%p)\n",this);
TRACE("(%p)\n", this);
return DRAGDROP_S_USEDEFAULTCURSORS;
}
@ -2760,28 +2757,28 @@ HRESULT WINAPI CDefView::GiveFeedback(DWORD dwEffect)
HRESULT WINAPI CDefView::Draw(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue)
{
FIXME("Stub: this=%p\n",this);
FIXME("Stub: this=%p\n", this);
return E_NOTIMPL;
}
HRESULT WINAPI CDefView::GetColorSet(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDevice, LOGPALETTE **ppColorSet)
{
FIXME("Stub: this=%p\n",this);
FIXME("Stub: this=%p\n", this);
return E_NOTIMPL;
}
HRESULT WINAPI CDefView::Freeze(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze)
{
FIXME("Stub: this=%p\n",this);
FIXME("Stub: this=%p\n", this);
return E_NOTIMPL;
}
HRESULT WINAPI CDefView::Unfreeze(DWORD dwFreeze)
{
FIXME("Stub: this=%p\n",this);
FIXME("Stub: this=%p\n", this);
return E_NOTIMPL;
}

View file

@ -210,17 +210,6 @@ SHIsTempDisplayMode(VOID)
return FALSE;
}
/*
* Unimplemented
*/
EXTERN_C LONG
WINAPI
SHCreateSessionKey(REGSAM regSam, PHKEY phKey)
{
FIXME("SHCreateSessionKey() stub\n");
return 0;
}
/*
* Unimplemented
*/