mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[PSDK][ACTXPROXY] Add IExplorerCommand and related classes (Vista+)
This commit is contained in:
parent
371aba1abe
commit
1d4d88b062
2 changed files with 180 additions and 0 deletions
|
@ -200,6 +200,36 @@ HRESULT __RPC_STUB IEnumShellItems_Next_Stub(
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
|
||||||
|
HRESULT CALLBACK IEnumExplorerCommand_Next_Proxy(
|
||||||
|
IEnumExplorerCommand *This,
|
||||||
|
ULONG celt,
|
||||||
|
IExplorerCommand **pUICommand,
|
||||||
|
ULONG *pceltFetched)
|
||||||
|
{
|
||||||
|
ULONG fetched;
|
||||||
|
TRACE("(%p)->(%d, %p, %p)\n", This, celt, pUICommand, pceltFetched);
|
||||||
|
if (!pceltFetched) pceltFetched = &fetched;
|
||||||
|
return IEnumExplorerCommand_RemoteNext_Proxy(This, celt, pUICommand, pceltFetched);
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT __RPC_STUB IEnumExplorerCommand_Next_Stub(
|
||||||
|
IEnumExplorerCommand *This,
|
||||||
|
ULONG celt,
|
||||||
|
IExplorerCommand **pUICommand,
|
||||||
|
ULONG *pceltFetched)
|
||||||
|
{
|
||||||
|
HRESULT hr;
|
||||||
|
TRACE("(%p)->(%d, %p, %p)\n", This, celt, pUICommand, pceltFetched);
|
||||||
|
*pceltFetched = 0;
|
||||||
|
hr = IEnumExplorerCommand_Next(This, celt, pUICommand, pceltFetched);
|
||||||
|
if (hr == S_OK) *pceltFetched = celt;
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __REACTOS__
|
||||||
|
|
||||||
HRESULT CALLBACK IModalWindow_Show_Proxy(
|
HRESULT CALLBACK IModalWindow_Show_Proxy(
|
||||||
IModalWindow *This,
|
IModalWindow *This,
|
||||||
HWND hwndOwner)
|
HWND hwndOwner)
|
||||||
|
|
|
@ -2196,6 +2196,156 @@ interface IDefaultExtractIconInit : IUnknown
|
||||||
[in] int iIcon);
|
[in] int iIcon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
/*****************************************************************************
|
||||||
|
* IExplorerCommand interface (Vista+)
|
||||||
|
*/
|
||||||
|
|
||||||
|
interface IEnumExplorerCommand;
|
||||||
|
|
||||||
|
[
|
||||||
|
uuid(A08CE4D0-FA25-44AB-B57C-C7B1C323E0B9),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IExplorerCommand : IUnknown
|
||||||
|
{
|
||||||
|
cpp_quote("// GetIcon(ppszIcon) Receives resource string that identifies icon source")
|
||||||
|
typedef [v1_enum] enum _EXPCMDSTATE
|
||||||
|
{
|
||||||
|
ECS_ENABLED = 0x000,
|
||||||
|
ECS_DISABLED = 0x001,
|
||||||
|
ECS_HIDDEN = 0x002,
|
||||||
|
ECS_CHECKBOX = 0x004,
|
||||||
|
ECS_CHECKED = 0x008,
|
||||||
|
ECS_RADIOCHECK = 0x010, // Windows 7
|
||||||
|
} EXPCMDSTATE;
|
||||||
|
|
||||||
|
typedef [v1_enum] enum _EXPCMDFLAGS
|
||||||
|
{
|
||||||
|
ECF_DEFAULT = 0x000,
|
||||||
|
ECF_HASSUBCOMMANDS = 0x001,
|
||||||
|
ECF_HASSPLITBUTTON = 0x002,
|
||||||
|
ECF_HIDELABEL = 0x004,
|
||||||
|
ECF_ISSEPARATOR = 0x008,
|
||||||
|
ECF_HASLUASHIELD = 0x010,
|
||||||
|
ECF_SEPARATORBEFORE = 0x020, // Windows 7
|
||||||
|
ECF_SEPARATORAFTER = 0x040, // Windows 7
|
||||||
|
ECF_ISDROPDOWN = 0x080, // Windows 7
|
||||||
|
ECF_TOGGLEABLE = 0x100, // Windows 8
|
||||||
|
ECF_AUTOMENUICONS = 0x200, // Windows 8
|
||||||
|
} EXPCMDFLAGS;
|
||||||
|
|
||||||
|
HRESULT GetTitle(
|
||||||
|
[in, unique] IShellItemArray *psiItemArray,
|
||||||
|
[out, string] LPWSTR *ppszName);
|
||||||
|
HRESULT GetIcon(
|
||||||
|
[in, unique] IShellItemArray *psiItemArray,
|
||||||
|
[out, string] LPWSTR *ppszIcon);
|
||||||
|
HRESULT GetToolTip(
|
||||||
|
[in, unique] IShellItemArray *psiItemArray,
|
||||||
|
[out, string] LPWSTR *ppszInfotip);
|
||||||
|
HRESULT GetCanonicalName(
|
||||||
|
[out] GUID* pguidCommandName);
|
||||||
|
HRESULT GetState(
|
||||||
|
[in] IShellItemArray *psiItemArray,
|
||||||
|
[in] BOOL fOkToBeSlow,
|
||||||
|
[out] EXPCMDSTATE *pCmdState);
|
||||||
|
HRESULT Invoke(
|
||||||
|
[in] IShellItemArray *psiItemArray,
|
||||||
|
[in, unique] IBindCtx *pbc);
|
||||||
|
HRESULT GetFlags(
|
||||||
|
[out] EXPCMDFLAGS *pFlags);
|
||||||
|
HRESULT EnumSubCommands(
|
||||||
|
[out] IEnumExplorerCommand **ppEnum);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IExplorerCommandState interface (Vista+)
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(BDDACB60-7657-47AE-8445-D23E1ACF82AE),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IExplorerCommandState : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT GetState(
|
||||||
|
[in] IShellItemArray *psiItemArray,
|
||||||
|
[in] BOOL fOkToBeSlow,
|
||||||
|
[out] EXPCMDSTATE *pCmdState);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IInitializeCommand interface (Vista+)
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(85075ACF-231F-40EA-9610-D26B7B58F638),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IInitializeCommand : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT Initialize(
|
||||||
|
[in, string] LPCWSTR pszCommandName,
|
||||||
|
[in] IPropertyBag *ppb);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IEnumExplorerCommand interface (Vista+)
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(A88826F8-186F-4987-AADE-EA0CEF8FBFE8),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IEnumExplorerCommand : IUnknown
|
||||||
|
{
|
||||||
|
[local]
|
||||||
|
HRESULT Next(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out] IExplorerCommand** pUICommand,
|
||||||
|
[out, optional] ULONG *pceltFetched);
|
||||||
|
[call_as(Next)]
|
||||||
|
HRESULT RemoteNext(
|
||||||
|
[in] ULONG celt,
|
||||||
|
[out] IExplorerCommand** pUICommand,
|
||||||
|
[out, optional] ULONG *pceltFetched);
|
||||||
|
HRESULT Skip(
|
||||||
|
[in] ULONG celt);
|
||||||
|
HRESULT Reset();
|
||||||
|
HRESULT Clone(
|
||||||
|
[out] IEnumExplorerCommand **ppenum);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IExplorerCommandProvider interface (Vista+)
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
uuid(64961751-0835-43C0-8FFE-D57686530E64),
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface IExplorerCommandProvider : IUnknown
|
||||||
|
{
|
||||||
|
cpp_quote("// GetCommands usually creates an IEnumExplorerCommand")
|
||||||
|
cpp_quote("// GetCommand usually creates an IExplorerCommand")
|
||||||
|
|
||||||
|
HRESULT GetCommands(
|
||||||
|
[in] IUnknown *punkSite,
|
||||||
|
[in] REFIID riid,
|
||||||
|
[out, iid_is(riid)] void **ppv);
|
||||||
|
HRESULT GetCommand(
|
||||||
|
[in] REFGUID rguidCommandId,
|
||||||
|
[in] REFIID riid,
|
||||||
|
[out, iid_is(riid)] void **ppv);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __REACTOS__
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDeskBand interface
|
* IDeskBand interface
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue