mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 03:43:36 +00:00
- Added copy/move support for FolderItems collections. - Added support for InvokeVerbEx on FolderItems collections. - Added filter support for FolderItems collections.
47 lines
1.7 KiB
C
47 lines
1.7 KiB
C
/*
|
|
* PROJECT: shell32
|
|
* LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
|
|
* PURPOSE: [PROP]VARIANT header
|
|
* COPYRIGHT: Copyright 2026 Whindmar Saksit <[email protected]>
|
|
*/
|
|
|
|
#include "precomp.h"
|
|
|
|
#define SHELL32_NOPROPSYSLIB // PropSys does not yet have all the PKEY_'s we need
|
|
|
|
#ifdef SHELL32_NOPROPSYSLIB
|
|
#ifdef SHELL32_PROP_IMPL
|
|
#ifndef PSGUID_SUMMARYINFORMATION
|
|
#define PSGUID_SUMMARYINFORMATION { 0xf29f85e0L, 0x4ff9, 0x1068, 0xab, 0x91, 0x08, 0x00, 0x2b, 0x27, 0xb3, 0xd9 }
|
|
#endif
|
|
#define DEFINE_SHELL32PROPERTYKEY(name, psguid, pid) \
|
|
EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY name = { psguid, pid }
|
|
#else
|
|
#define DEFINE_SHELL32PROPERTYKEY(name, psguid, pid) EXTERN_C const PROPERTYKEY name
|
|
#endif // SHELL32_PROP_IMPL
|
|
|
|
DEFINE_SHELL32PROPERTYKEY(PKEY_Size, PSGUID_STORAGE, PID_STG_SIZE);
|
|
DEFINE_SHELL32PROPERTYKEY(PKEY_FileAttributes, PSGUID_STORAGE, PID_STG_ATTRIBUTES);
|
|
DEFINE_SHELL32PROPERTYKEY(PKEY_DateModified, PSGUID_STORAGE, PID_STG_WRITETIME);
|
|
DEFINE_SHELL32PROPERTYKEY(PKEY_ItemTypeText, PSGUID_STORAGE, PID_STG_STORAGETYPE);
|
|
DEFINE_SHELL32PROPERTYKEY(PKEYSHELL32_Name, PSGUID_STORAGE, PID_STG_NAME);
|
|
DEFINE_SHELL32PROPERTYKEY(PKEYSHELL32_Comments, PSGUID_SUMMARYINFORMATION, PIDSI_COMMENTS);
|
|
|
|
#endif // SHELL32_NOPROPSYSLIB
|
|
|
|
const PROPERTYKEY*
|
|
SHELL_GetPropertyKeyFromString(_In_ PCWSTR pszString, _Out_ PROPERTYKEY *pkey);
|
|
|
|
static inline VARIANT*
|
|
VariantDerefVariant(_In_ const VARIANT *pV)
|
|
{
|
|
if (V_VT(pV) == (VT_BYREF | VT_VARIANT) && V_VARIANTREF(pV))
|
|
return V_VARIANTREF(pV);
|
|
return (VARIANT*)pV;
|
|
}
|
|
|
|
HRESULT
|
|
VariantToIdlist(_In_ VARIANT *pV, _Out_ LPITEMIDLIST *ppidl);
|
|
HRESULT
|
|
VariantQueryInterface(_In_ VARIANT *pV, _In_ REFIID riid, _Out_ void **ppv);
|