Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

86 lines
2.4 KiB

/**************************************************************************
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright 1998 Microsoft Corporation. All Rights Reserved.
**************************************************************************/
/**************************************************************************
File: PidlMgr.h
Description: CPidlMgr definitions.
**************************************************************************/
#ifndef PIDLMGR_H
#define PIDLMGR_H
#include <windows.h>
#include <shlobj.h>
/**************************************************************************
data types
**************************************************************************/
#define MAX_NAME MAX_PATH
#define MAX_DATA 128
typedef struct tagPIDLDATA
{
BOOL fFolder;
TCHAR szName[MAX_NAME];
TCHAR szData[MAX_DATA];
TCHAR szUrl[MAX_DATA];
int iIcon;
}PIDLDATA, FAR *LPPIDLDATA;
typedef enum tagPIDLDATATYPE
{
FOLDER = 0x1,
NAME = 0x2,
DATA = 0x4,
ICON = 0x8,
URL = 0x10
} PIDLDATATYPE;
/**************************************************************************
CPidlMgr class definition
**************************************************************************/
class CPidlMgr
{
public:
CPidlMgr();
~CPidlMgr();
VOID Delete(LPITEMIDLIST);
LPITEMIDLIST GetNextItem(LPCITEMIDLIST);
LPITEMIDLIST Copy(LPCITEMIDLIST);
LPITEMIDLIST CopySingleItem(LPCITEMIDLIST);
LPITEMIDLIST GetLastItem(LPCITEMIDLIST);
LPITEMIDLIST Concatenate(LPCITEMIDLIST, LPCITEMIDLIST);
LPITEMIDLIST Create(VOID);
LPITEMIDLIST CreateFolderPidl(LPCTSTR);
LPITEMIDLIST CreateItemPidl(LPCTSTR, LPCTSTR);
LPITEMIDLIST SetDataPidl(LPITEMIDLIST, LPPIDLDATA , PIDLDATATYPE);
int GetName(LPCITEMIDLIST, LPTSTR, DWORD);
int GetRelativeName(LPCITEMIDLIST, LPTSTR, DWORD);
int GetData(LPCITEMIDLIST, LPTSTR, DWORD);
BOOL IsFolder(LPCITEMIDLIST);
int SetData(LPCITEMIDLIST, LPCTSTR);
UINT GetSize(LPCITEMIDLIST);
int GetIcon(LPCITEMIDLIST);
int GetUrl(LPCITEMIDLIST, LPTSTR, DWORD);
private:
LPMALLOC m_pMalloc;
LPPIDLDATA GetDataPointer(LPCITEMIDLIST);
};
#endif //PIDLMGR_H