IFileTypeRegistrar.idl 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import "oaidl.idl";
  2. import "ocidl.idl";
  3. import "wtypes.idl";
  4. [
  5. object,
  6. // dual,
  7. // nonextensible,
  8. uuid(2E74C695-8E9C-4179-B0A0-BC2EBDEB5C2B),
  9. helpstring("IFileTypeRegistrar Interface"),
  10. pointer_default(unique)
  11. ]
  12. interface IFileTypeRegistrar : IUnknown
  13. {
  14. HRESULT RegisterMIMEType(
  15. [in, string] LPCWSTR mimeType,
  16. [in, string] LPCWSTR programName,
  17. [in, string] LPCWSTR extension,
  18. [in] BOOL netscapeOnly
  19. );
  20. HRESULT RegisterCDPlayer(
  21. [in, string] LPCWSTR programName
  22. );
  23. HRESULT UnregisterCDPlayer(
  24. [in, string] LPCWSTR programName
  25. );
  26. HRESULT RegisterType(
  27. [in, string] LPCWSTR extension,
  28. [in, string] LPCWSTR which_str,
  29. [in, string] LPCWSTR prog_name
  30. );
  31. HRESULT UnregisterType(
  32. [in, string] LPCWSTR extension,
  33. [in, string] LPCWSTR which_str,
  34. [in, string] LPCWSTR prog_name,
  35. [in] int is_playlist
  36. );
  37. HRESULT AddDirectoryContext(
  38. [in, string] LPCWSTR commandLine,
  39. [in, string] LPCWSTR which_str,
  40. [in, string] LPCWSTR description
  41. );
  42. HRESULT RemoveDirectoryContext(
  43. [in, string] LPCWSTR which_str
  44. );
  45. HRESULT AddAgent(
  46. [in, string] LPCWSTR agentFilename
  47. );
  48. HRESULT RemoveAgent();
  49. HRESULT RegisterMediaPlayer(
  50. [in] DWORD accessEnabled,
  51. [in, string] LPCWSTR programName,
  52. [in, string] LPCWSTR prog_name,
  53. [in] int iconNumber
  54. );
  55. HRESULT RegisterMediaPlayerProtocol(
  56. [in, string] LPCWSTR protocol,
  57. [in, string] LPCWSTR prog_name
  58. );
  59. HRESULT UnregisterMediaPlayerProtocol(
  60. [in, string] LPCWSTR protocol,
  61. [in, string] LPCWSTR prog_name
  62. );
  63. HRESULT SetupFileType(
  64. [in, string] LPCWSTR programName,
  65. [in, string] LPCWSTR winamp_file,
  66. [in, string] LPCWSTR name,
  67. [in] int iconNumber,
  68. [in, string] LPCWSTR defaultShellCommand,
  69. [in, string] LPCWSTR iconPath
  70. );
  71. HRESULT SetupShell(
  72. [in, string] LPCWSTR commandLine,
  73. [in, string] LPCWSTR winamp_file,
  74. [in, string] LPCWSTR description,
  75. [in, string] LPCWSTR commandName,
  76. [in, string] LPCWSTR dragAndDropGUID
  77. );
  78. HRESULT RemoveShell(
  79. [in, string] LPCWSTR winamp_file,
  80. [in, string] LPCWSTR commandName
  81. );
  82. HRESULT SetupDefaultFileType(
  83. [in, string] LPCWSTR winamp_file,
  84. [in, string] LPCWSTR defaultShellCommand
  85. );
  86. HRESULT RegisterTypeShell(
  87. [in, string] LPCWSTR programName,
  88. [in, string] LPCWSTR which_file,
  89. [in, string] LPCWSTR description,
  90. [in] int iconNumber,
  91. [in, string] LPCWSTR commandName
  92. );
  93. HRESULT RegisterGUID(
  94. [in, string] LPCWSTR programName,
  95. [in, string] LPCWSTR guidString
  96. );
  97. HRESULT RegisterDVDPlayer(
  98. [in, string] LPCWSTR programName,
  99. [in] int iconNumber,
  100. [in, string] LPCWSTR which_file,
  101. [in, string] LPCWSTR commandName,
  102. [in, string] LPCWSTR provider,
  103. [in, string] LPCWSTR description
  104. );
  105. HRESULT InstallItem(
  106. [in, string] LPCWSTR sourceFile,
  107. [in, string] LPCWSTR destinationFolder,
  108. [in, string] LPCWSTR destinationFilename
  109. );
  110. HRESULT DeleteItem(
  111. [in, string] LPCWSTR file
  112. );
  113. HRESULT RenameItem(
  114. [in, string] LPCWSTR oldFile,
  115. [in, string] LPCWSTR newFile,
  116. [in] BOOL force
  117. );
  118. HRESULT CleanupDirectory(
  119. [in, string] LPCWSTR directory
  120. );
  121. HRESULT MoveDirectoryContents(
  122. [in, string] LPCWSTR oldDirectory,
  123. [in, string] LPCWSTR newDirectory
  124. );
  125. HRESULT WriteProKey(
  126. [in, string] LPCWSTR name,
  127. [in, string] LPCWSTR key
  128. );
  129. HRESULT WriteClientUIDKey(
  130. [in, string] LPCWSTR path,
  131. [in, string] LPCWSTR uid_str
  132. );
  133. HRESULT RegisterProtocol(
  134. [in, string] LPCWSTR protocol,
  135. [in, string] LPCWSTR command,
  136. [in, string] LPCWSTR icon
  137. );
  138. HRESULT RegisterCapability(
  139. [in, string] LPCWSTR programName,
  140. [in, string] LPCWSTR winamp_file,
  141. [in, string] LPCWSTR extension
  142. );
  143. };
  144. [
  145. uuid(B3600382-8669-402B-81B2-3D18B0E2318B),
  146. version(1.1),
  147. helpstring("Elevator 1.1 Type Library")
  148. ]
  149. library ElevatorLib
  150. {
  151. importlib("stdole2.tlb");
  152. [
  153. uuid(3B29AB5C-52CB-4a36-9314-E3FEE0BA7468),
  154. appobject,
  155. ]
  156. coclass WFileTypeRegistrar
  157. {
  158. [default] interface IFileTypeRegistrar;
  159. };
  160. };