Click here to Skip to main content
16,005,467 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: typedef Pin
George_George19-Feb-08 14:14
George_George19-Feb-08 14:14 
GeneralRe: typedef Pin
Rajkumar R18-Feb-08 22:24
Rajkumar R18-Feb-08 22:24 
GeneralRe: typedef Pin
Prasanth M V18-Feb-08 22:37
Prasanth M V18-Feb-08 22:37 
GeneralRe: typedef Pin
Rajkumar R18-Feb-08 22:50
Rajkumar R18-Feb-08 22:50 
GeneralRe: typedef Pin
Prasanth M V18-Feb-08 23:46
Prasanth M V18-Feb-08 23:46 
QuestionCRT Security and Gotcha Pin
suhast18-Feb-08 20:24
suhast18-Feb-08 20:24 
GeneralRe: CRT Security and Gotcha Pin
James R. Twine10-Mar-08 4:52
James R. Twine10-Mar-08 4:52 
GeneralE_NOINTERFACE Pin
john563218-Feb-08 19:59
john563218-Feb-08 19:59 
Hi Experts,

I am trying to get the files and folders name from RecycleBin. But the statement "hr = m_pRecycleBin->CreateViewObject (m_hWnd, IID_IShellDetails, (VOID**)&pDetails);" is returning E_NOINTERFACE.

I could not know what is happening?

My code is:
<br />
CoInitialize(NULL);<br />
<br />
	HMODULE m_hShell32 = LoadLibrary(_T("SHELL32.DLL"));<br />
	typedef IShellFolder	FAR*	LPSHELLFOLDER;<br />
	typedef IShellFolder2	FAR*	PSHELLDETAILS;<br />
	LPSHELLFOLDER	m_pRecycleBin;<br />
	<br />
	<br />
<br />
	BOOL			bReturn			= FALSE;<br />
	STRRET			strRet;<br />
	LPMALLOC		pMalloc			= NULL;<br />
	LPSHELLFOLDER	pDesktop		= NULL;<br />
	LPITEMIDLIST	pidlRecycleBin	= NULL;<br />
	HRESULT			hr				= S_OK;<br />
	m_pRecycleBin=NULL;<br />
	SHGetMalloc(&pMalloc); // windows memory management pointer needed later<br />
	hr = SHGetDesktopFolder(&pDesktop);<br />
	hr = SHGetSpecialFolderLocation (m_hWnd, CSIDL_BITBUCKET, &pidlRecycleBin);<br />
	if (NULL != m_pRecycleBin)<br />
	{<br />
		m_pRecycleBin->Release ();<br />
		m_pRecycleBin = NULL;<br />
	}<br />
	hr = pDesktop->BindToObject(pidlRecycleBin, NULL, IID_IShellFolder, (LPVOID *)&m_pRecycleBin);<br />
	if (SUCCEEDED (hr))<br />
	{<br />
		bReturn = TRUE;<br />
	}<br />
	if (S_OK == pDesktop->GetDisplayNameOf (pidlRecycleBin, SHGDN_NORMAL, &strRet))<br />
	{<br />
		GetName (strRet);<br />
	}<br />
<br />
	pMalloc->Free (pidlRecycleBin);<br />
	pDesktop->Release();<br />
	pMalloc->Release();<br />
	//return bReturn;<br />
<br />
	PSHELLDETAILS pDetails = NULL;<br />
	//HRESULT hr = S_OK;<br />
<br />
	SHGetMalloc(&pMalloc); // windows memory management pointer needed later<br />
	hr = m_pRecycleBin->CreateViewObject (m_hWnd, IID_IShellDetails, (VOID**)&pDetails);<br />
	if (SUCCEEDED (hr))<br />
	{<br />
		TCHAR szTemp[MAX_PATH];<br />
		SHELLDETAILS sd;<br />
		int iSubItem = 0;<br />
<br />
		while (SUCCEEDED (hr))<br />
		{<br />
			hr = pDetails->GetDetailsOf (NULL , iSubItem, &sd);<br />
			if (SUCCEEDED (hr))<br />
			{<br />
				switch (sd.str.uType)<br />
				{<br />
				case STRRET_CSTR:<br />
					_tcscpy (szTemp, sd.str.cStr);<br />
					break;<br />
				case STRRET_OFFSET:<br />
					break;<br />
				case STRRET_WSTR:<br />
					WideCharToMultiByte (CP_ACP, 0, sd.str.pOleStr, -1, szTemp, sizeof (szTemp), NULL, NULL);<br />
					pMalloc->Free (sd.str.pOleStr);<br />
					break;<br />
				}<br />
				//m_List.InsertColumn (iSubItem , szTemp, LVCFMT_LEFT, 100);<br />
				iSubItem ++;<br />
			}<br />
		}<br />
	}<br />
	if (NULL != pDetails)<br />
	{<br />
		pMalloc->Free (pDetails);<br />
	}<br />
	pMalloc->Release();<br />
<br />

AnswerRe: E_NOINTERFACE Pin
Rajkumar R18-Feb-08 20:16
Rajkumar R18-Feb-08 20:16 
GeneralRe: E_NOINTERFACE Pin
john563218-Feb-08 20:34
john563218-Feb-08 20:34 
GeneralQuestion about Mutex and Atoms. [modified] Pin
User 238229218-Feb-08 19:55
User 238229218-Feb-08 19:55 
GeneralRe: Question about Mutex and Atoms. Pin
Iain Clarke, Warrior Programmer18-Feb-08 22:25
Iain Clarke, Warrior Programmer18-Feb-08 22:25 
Generalimport address table (IAT) Pin
George_George18-Feb-08 19:32
George_George18-Feb-08 19:32 
GeneralRe: import address table (IAT) [modified] Pin
User 238229218-Feb-08 19:43
User 238229218-Feb-08 19:43 
GeneralRe: import address table (IAT) Pin
George_George18-Feb-08 20:10
George_George18-Feb-08 20:10 
GeneralRegistering an OCX Pin
Chandrasekharan P18-Feb-08 18:59
Chandrasekharan P18-Feb-08 18:59 
QuestionRe: Registering an OCX Pin
Rajesh R Subramanian18-Feb-08 19:18
professionalRajesh R Subramanian18-Feb-08 19:18 
GeneralRe: Registering an OCX Pin
Chandrasekharan P18-Feb-08 19:27
Chandrasekharan P18-Feb-08 19:27 
AnswerRe: Registering an OCX Pin
Rajesh R Subramanian18-Feb-08 19:39
professionalRajesh R Subramanian18-Feb-08 19:39 
GeneralRe: Registering an OCX Pin
Chandrasekharan P18-Feb-08 22:27
Chandrasekharan P18-Feb-08 22:27 
GeneralError C2440 in VC++. Pin
T.RATHA KRISHNAN18-Feb-08 18:57
T.RATHA KRISHNAN18-Feb-08 18:57 
AnswerRe: Error C2440 in VC++. Pin
Rajkumar R18-Feb-08 19:04
Rajkumar R18-Feb-08 19:04 
GeneralRe: Error C2440 in VC++. Pin
T.RATHA KRISHNAN18-Feb-08 19:26
T.RATHA KRISHNAN18-Feb-08 19:26 
GeneralRe: Error C2440 in VC++. Pin
Chandrasekharan P18-Feb-08 19:12
Chandrasekharan P18-Feb-08 19:12 
QuestionInterface excel-sheet with MFC SDI application(.exe) Pin
MuneesRaj18-Feb-08 18:20
MuneesRaj18-Feb-08 18:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.