windows-nt/Source/XPSP1/NT/shell/published/inc/shhelper.idl
2020-09-26 16:20:57 +08:00

106 lines
2.8 KiB
Plaintext

import "oaidl.idl";
import "shobjidl.idl";
interface IStorageDescriptor;
[
helpstring("Describes the underlying storage"),
uuid(1079acfa-29bd-11d3-8e0d-00c04f6837d5),
object,
pointer_default(unique)
]
interface IStorageDescriptor : IUnknown
{
// IStorageDescriptor methods
HRESULT GetStgDescription([out, string] LPOLESTR *ppszName);
};
interface IFileSystemDescriptor;
[
helpstring("Describes file system Objects"),
uuid(1079acfb-29bd-11d3-8e0d-00c04f6837d5),
object,
pointer_default(unique)
]
interface IFileSystemDescriptor : IStorageDescriptor
{
// IFileSystemDescriptor methods
HRESULT GetFSPath([out, string] LPOLESTR *ppszName);
};
[
object,
uuid(1079acfd-29bd-11d3-8e0d-00c04f6837d5), // IID_ISMKStaticHelpers
pointer_default(unique),
]
interface IMonikerHelper;
[
helpstring("Assist legacy applications to use IMoniker"),
uuid(679d9e36-f8f9-11d2-8deb-00c04f6837d5),
object,
]
interface IMonikerHelper : IUnknown
{
cpp_quote("// flags for IMonikerHelper methods")
cpp_quote("// MKHELPF_INIT_READONLY read only helper, Commit fails with E_ACCESSDENIED")
cpp_quote("// MKHELPF_INIT_SAVEAS write only helper, no download required for GLP")
cpp_quote("// MKHELPF_FORCEROUNDTRIP never use local cache (always roundtrip)")
cpp_quote("// MKHELPF_NOPROGRESSUI no progress will be displayed, only errors/confirmations")
cpp_quote("// MKHELPF_NOUI overrides all other UI flags")
[v1_enum] enum
{
MKHELPF_INIT_READONLY = 0x00000001,
MKHELPF_INIT_SAVEAS = 0x00000002,
MKHELPF_FORCEROUNDTRIP = 0x00000010,
MKHELPF_NOPROGRESSUI = 0x00000020,
MKHELPF_NOUI = 0x00000040,
};
typedef DWORD MKHELPF;
// IMonikerHelper methods
HRESULT Init([in] MKHELPF flags, [in] IMoniker *pmk);
HRESULT GetLocalPath([in] MKHELPF flags, [in] HWND hwnd, [in] LPCWSTR pszTitle, [out, size_is(*pcchOut)] LPWSTR pszOut, [in, out] DWORD *pcchOut);
HRESULT Commit([in] MKHELPF flags, [in] HWND hwnd, [in] LPCWSTR pszTitle);
};
[
uuid(50a7e9b1-70ef-11d1-b75a-00c04f6837d5), // LIBID_ShellHelpers
helpstring("Microsoft Shell Helper Objects"),
version(1.0),
restricted
]
library ShellHelpers
{
[
uuid(1079acf9-29be-11d3-8e0d-00c04f6837d5), // CLSID_ShellMoniker
]
coclass ShellItem
{
[restricted] interface IShellItem;
};
[
uuid(679d9e37-f8f9-11d2-8deb-00c04f6837d5), // CLSID_MonikerHelper
]
coclass MonikerHelper
{
[restricted] interface IMonikerHelper;
};
[
uuid(1079acfd-29be-11d3-8e0d-00c04f6837d5), // CLSID_SMKStaticHelpers
]
coclass SMKStaticHelpers
{
[restricted] interface ISMKStaticHelpers;
};
};