mirror of
https://github.com/reactos/reactos.git
synced 2024-09-24 19:48:55 +00:00
[SHELL32]
- Implement SHCreateSessionKey - Formatting of shlview.cpp svn path=/trunk/; revision=54714
This commit is contained in:
parent
f714427f9a
commit
673f93ef3b
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue