Files
interactive/application/sp-console3/Common/ShellTree/ShellString.h
2026-08-07 17:38:18 +09:00

61 lines
1.5 KiB
C++

// ShellString.h: interface for the CShellString class.
//
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2000-2001 by Paolo Messina
// (http://www.geocities.com/ppescher - ppescher@yahoo.com)
//
// The contents of this file are subject to the Artistic License (the "License").
// You may not use this file except in compliance with the License.
// You may obtain a copy of the License at:
// http://www.opensource.org/licenses/artistic-license.html
//
// If you find this code useful, credits would be nice!
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SHELLSTRING_H__1E9F6E1A_5076_4264_8747_713C53BAD6FE__INCLUDED_)
#define AFX_SHELLSTRING_H__1E9F6E1A_5076_4264_8747_713C53BAD6FE__INCLUDED_
#include <shlobj.h>
#include "ShellWrappers.h"
#include "ShellPidl.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CShellString
{
protected:
CShellPidl m_pidl;
STRRET m_str;
public:
CShellString();
virtual ~CShellString();
// obtain an empty object by pointer
STRRET* GetPointer(LPCITEMIDLIST pidl, UINT uDesiredType = STRRET_WSTR);
operator CString() const;
protected:
void Destroy();
};
// inline functions
inline CShellString::CShellString()
{
ZeroMemory(&m_str, sizeof(STRRET));
}
inline CShellString::~CShellString()
{
Destroy();
}
#endif // !defined(AFX_SHELLSTRING_H__1E9F6E1A_5076_4264_8747_713C53BAD6FE__INCLUDED_)