mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +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;
|
||||
}
|
||||
|
||||
#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(
|
||||
IModalWindow *This,
|
||||
HWND hwndOwner)
|
||||
|
|
|
@ -2196,6 +2196,156 @@ interface IDefaultExtractIconInit : IUnknown
|
|||
[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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue