Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.8 KiB

  1. import "oaidl.idl";
  2. import "shobjidl.idl";
  3. interface IStorageDescriptor;
  4. [
  5. helpstring("Describes the underlying storage"),
  6. uuid(1079acfa-29bd-11d3-8e0d-00c04f6837d5),
  7. object,
  8. pointer_default(unique)
  9. ]
  10. interface IStorageDescriptor : IUnknown
  11. {
  12. // IStorageDescriptor methods
  13. HRESULT GetStgDescription([out, string] LPOLESTR *ppszName);
  14. };
  15. interface IFileSystemDescriptor;
  16. [
  17. helpstring("Describes file system Objects"),
  18. uuid(1079acfb-29bd-11d3-8e0d-00c04f6837d5),
  19. object,
  20. pointer_default(unique)
  21. ]
  22. interface IFileSystemDescriptor : IStorageDescriptor
  23. {
  24. // IFileSystemDescriptor methods
  25. HRESULT GetFSPath([out, string] LPOLESTR *ppszName);
  26. };
  27. [
  28. object,
  29. uuid(1079acfd-29bd-11d3-8e0d-00c04f6837d5), // IID_ISMKStaticHelpers
  30. pointer_default(unique),
  31. ]
  32. interface IMonikerHelper;
  33. [
  34. helpstring("Assist legacy applications to use IMoniker"),
  35. uuid(679d9e36-f8f9-11d2-8deb-00c04f6837d5),
  36. object,
  37. ]
  38. interface IMonikerHelper : IUnknown
  39. {
  40. cpp_quote("// flags for IMonikerHelper methods")
  41. cpp_quote("// MKHELPF_INIT_READONLY read only helper, Commit fails with E_ACCESSDENIED")
  42. cpp_quote("// MKHELPF_INIT_SAVEAS write only helper, no download required for GLP")
  43. cpp_quote("// MKHELPF_FORCEROUNDTRIP never use local cache (always roundtrip)")
  44. cpp_quote("// MKHELPF_NOPROGRESSUI no progress will be displayed, only errors/confirmations")
  45. cpp_quote("// MKHELPF_NOUI overrides all other UI flags")
  46. [v1_enum] enum
  47. {
  48. MKHELPF_INIT_READONLY = 0x00000001,
  49. MKHELPF_INIT_SAVEAS = 0x00000002,
  50. MKHELPF_FORCEROUNDTRIP = 0x00000010,
  51. MKHELPF_NOPROGRESSUI = 0x00000020,
  52. MKHELPF_NOUI = 0x00000040,
  53. };
  54. typedef DWORD MKHELPF;
  55. // IMonikerHelper methods
  56. HRESULT Init([in] MKHELPF flags, [in] IMoniker *pmk);
  57. HRESULT GetLocalPath([in] MKHELPF flags, [in] HWND hwnd, [in] LPCWSTR pszTitle, [out, size_is(*pcchOut)] LPWSTR pszOut, [in, out] DWORD *pcchOut);
  58. HRESULT Commit([in] MKHELPF flags, [in] HWND hwnd, [in] LPCWSTR pszTitle);
  59. };
  60. [
  61. uuid(50a7e9b1-70ef-11d1-b75a-00c04f6837d5), // LIBID_ShellHelpers
  62. helpstring("Microsoft Shell Helper Objects"),
  63. version(1.0),
  64. restricted
  65. ]
  66. library ShellHelpers
  67. {
  68. [
  69. uuid(1079acf9-29be-11d3-8e0d-00c04f6837d5), // CLSID_ShellMoniker
  70. ]
  71. coclass ShellItem
  72. {
  73. [restricted] interface IShellItem;
  74. };
  75. [
  76. uuid(679d9e37-f8f9-11d2-8deb-00c04f6837d5), // CLSID_MonikerHelper
  77. ]
  78. coclass MonikerHelper
  79. {
  80. [restricted] interface IMonikerHelper;
  81. };
  82. [
  83. uuid(1079acfd-29be-11d3-8e0d-00c04f6837d5), // CLSID_SMKStaticHelpers
  84. ]
  85. coclass SMKStaticHelpers
  86. {
  87. [restricted] interface ISMKStaticHelpers;
  88. };
  89. };