|
@@ -1,9 +1,35 @@
|
|
|
{
|
|
|
}
|
|
|
+{$mode objfpc}
|
|
|
unit shlobj;
|
|
|
|
|
|
interface
|
|
|
|
|
|
+ uses
|
|
|
+ windows,activex;
|
|
|
+
|
|
|
+ type
|
|
|
+ IEnumIDList = interface(IUnknown)
|
|
|
+ ['{000214F2-0000-0000-C000-000000000046}']
|
|
|
+ function Next(celt: ULONG; out rgelt: PItemIDList; var pceltFetched: ULONG): HRESULT; stdcall;
|
|
|
+ function Skip(celt: ULONG): HRESULT; stdcall; function Reset: HRESULT; stdcall;
|
|
|
+ function Clone(out ppenum: IEnumIDList): HRESULT; stdcall;
|
|
|
+ end;
|
|
|
+
|
|
|
+ IShellFolder = interface(IUnknown)
|
|
|
+ ['{000214E6-0000-0000-C000-000000000046}']
|
|
|
+ function ParseDisplayName(hwndOwner: HWND; pbcReserved: Pointer; lpszDisplayName: POLESTR; out pchEaten: ULONG; out ppidl: PItemIDList; var dwAttributes: ULONG): HRESULT; stdcall;
|
|
|
+ function EnumObjects(hwndOwner: HWND; grfFlags: DWORD; out EnumIDList: IEnumIDList): HRESULT; stdcall;
|
|
|
+ function BindToObject(pidl: PItemIDList; pbcReserved: Pointer; const riid: TIID; out ppvOut): HRESULT; stdcall;
|
|
|
+ function BindToStorage(pidl: PItemIDList; pbcReserved: Pointer; const riid: TIID; out ppvObj): HRESULT; stdcall;
|
|
|
+ function CompareIDs(lParam: LPARAM; pidl1, pidl2: PItemIDList): HRESULT; stdcall;
|
|
|
+ function CreateViewObject(hwndOwner: HWND; const riid: TIID; out ppvOut): HRESULT; stdcall;
|
|
|
+ function GetAttributesOf(cidl: UINT; var apidl: PItemIDList; var rgfInOut: UINT): HRESULT; stdcall;
|
|
|
+ function GetUIObjectOf(hwndOwner: HWND; cidl: UINT; var apidl: PItemIDList; const riid: TIID; prgfInOut: Pointer; out ppvOut): HRESULT; stdcall;
|
|
|
+ function GetDisplayNameOf(pidl: PItemIDList; uFlags: DWORD; var lpName: TStrRet): HRESULT; stdcall;
|
|
|
+ function SetNameOf(hwndOwner: HWND; pidl: PItemIDList; lpszName: POLEStr; uFlags: DWORD; var ppidlOut: PItemIDList): HRESULT; stdcall;
|
|
|
+ end;
|
|
|
+
|
|
|
implementation
|
|
|
|
|
|
end.
|