Leaked source code of windows server 2003
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.

211 lines
6.2 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: O N C O M M A N D . H
  7. //
  8. // Contents: Command handler prototypes for the InvokeCommand code.
  9. //
  10. // Notes:
  11. //
  12. // Author: jeffspr 4 Nov 1997
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #ifndef _ONCOMMAND_H_
  17. #define _ONCOMMAND_H_
  18. //---[ Typedefs ]-------------------------------------------------------------
  19. // Typedefs for the functions that we'll GetProcAddress from the
  20. // NetWare config DLL
  21. typedef HRESULT (WINAPI *FOLDERONCOMMANDPROC)(
  22. const PCONFOLDPIDLVEC& apidl,
  23. HWND,
  24. LPSHELLFOLDER);
  25. struct ConFoldOnCommandParams
  26. {
  27. FOLDERONCOMMANDPROC pfnfocp;
  28. PCONFOLDPIDLVEC apidl;
  29. HWND hwndOwner;
  30. LPSHELLFOLDER psf;
  31. HINSTANCE hInstNetShell;
  32. };
  33. typedef struct ConFoldOnCommandParams CONFOLDONCOMMANDPARAMS;
  34. typedef struct ConFoldOnCommandParams * PCONFOLDONCOMMANDPARAMS;
  35. HRESULT HrCommandHandlerThread(
  36. FOLDERONCOMMANDPROC pfnCommandHandler,
  37. const PCONFOLDPIDLVEC& apidl,
  38. HWND hwndOwner,
  39. LPSHELLFOLDER psf);
  40. DWORD WINAPI FolderCommandHandlerThreadProc(LPVOID lpParam);
  41. //---[ Internal versions of the command handlers ]----------------------------
  42. //
  43. // These are called by the standard handler functions once they've retrieved
  44. // the actual data from the pidls. They are also called from those pieces
  45. // of the code that keep the native data, such as the tray
  46. //
  47. //
  48. HRESULT HrOnCommandDisconnectInternal(
  49. const CONFOLDENTRY& pccfe,
  50. HWND hwndOwner,
  51. LPSHELLFOLDER psf);
  52. HRESULT HrOnCommandFixInternal(
  53. const CONFOLDENTRY& pccfe,
  54. HWND hwndOwner,
  55. LPSHELLFOLDER psf);
  56. HRESULT HrOnCommandStatusInternal(
  57. const CONFOLDENTRY& pccfe,
  58. BOOL fCreateEngine);
  59. HRESULT HrCreateShortcutWithPath(
  60. const PCONFOLDPIDLVEC& apidl,
  61. HWND hwndOwner,
  62. LPSHELLFOLDER psf,
  63. PCWSTR pszDir = NULL);
  64. //---[ Standard command handler functions ]----------------------------------
  65. //
  66. // These are the pidl based functions that are called from the shell folder
  67. //
  68. HRESULT HrFolderCommandHandler(
  69. UINT uiCommand,
  70. const PCONFOLDPIDLVEC& apidl,
  71. HWND hwndOwner,
  72. LPCMINVOKECOMMANDINFO lpici,
  73. LPSHELLFOLDER psf);
  74. // All of these below handle individual command
  75. //
  76. HRESULT HrOnCommandProperties(
  77. IN const PCONFOLDPIDLVEC& apidl,
  78. IN HWND hwndOwner,
  79. IN LPSHELLFOLDER psf);
  80. HRESULT HrOnCommandWZCProperties(
  81. IN const PCONFOLDPIDLVEC& apidl,
  82. IN HWND hwndOwner,
  83. IN LPSHELLFOLDER psf);
  84. HRESULT HrOnCommandWZCDlgShow(
  85. IN const PCONFOLDPIDLVEC& apidl,
  86. IN HWND hwndOwner,
  87. IN LPSHELLFOLDER psf);
  88. HRESULT HrOnCommandCreateCopy(
  89. IN const PCONFOLDPIDLVEC& apidl,
  90. IN HWND hwndOwner,
  91. IN LPSHELLFOLDER psf);
  92. HRESULT HrOnCommandStatus(
  93. IN const PCONFOLDPIDLVEC& apidl,
  94. IN HWND hwndOwner,
  95. IN LPSHELLFOLDER psf);
  96. HRESULT HrOnCommandConnect(
  97. IN const PCONFOLDPIDLVEC& apidl,
  98. IN HWND hwndOwner,
  99. IN LPSHELLFOLDER psf);
  100. HRESULT HrOnCommandDisconnect(
  101. IN const PCONFOLDPIDLVEC& apidl,
  102. IN HWND hwndOwner,
  103. IN LPSHELLFOLDER psf);
  104. HRESULT HrOnCommandFix(
  105. IN const PCONFOLDPIDLVEC& apidl,
  106. IN HWND hwndOwner,
  107. IN LPSHELLFOLDER psf);
  108. HRESULT HrOnCommandNewConnection(
  109. IN const PCONFOLDPIDLVEC& apidl,
  110. IN HWND hwndOwner,
  111. IN LPSHELLFOLDER psf);
  112. HRESULT HrOnCommandAdvancedConfig(
  113. IN const PCONFOLDPIDLVEC& apidl,
  114. IN HWND hwndOwner,
  115. IN LPSHELLFOLDER psf);
  116. HRESULT HrOnCommandDelete(
  117. IN const PCONFOLDPIDLVEC& apidl,
  118. IN HWND hwndOwner,
  119. IN LPSHELLFOLDER psf);
  120. HRESULT HrOnCommandNetworkId(
  121. IN const PCONFOLDPIDLVEC& apidl,
  122. IN HWND hwndOwner,
  123. IN LPSHELLFOLDER psf);
  124. HRESULT HrOnCommandOptionalComponents(
  125. IN const PCONFOLDPIDLVEC& apidl,
  126. IN HWND hwndOwner,
  127. IN LPSHELLFOLDER psf);
  128. HRESULT HrOnCommandDialupPrefs(
  129. IN const PCONFOLDPIDLVEC& apidl,
  130. IN HWND hwndOwner,
  131. IN LPSHELLFOLDER psf);
  132. HRESULT HrOnCommandOperatorAssist(
  133. IN const PCONFOLDPIDLVEC& apidl,
  134. IN HWND hwndOwner,
  135. IN LPSHELLFOLDER psf);
  136. HRESULT HrOnCommandCreateShortcut(
  137. IN const PCONFOLDPIDLVEC& apidl,
  138. IN HWND hwndOwner,
  139. IN LPSHELLFOLDER psf);
  140. HRESULT HrRaiseConnectionPropertiesInternal(
  141. HWND hwnd,
  142. UINT nStartPage,
  143. INetConnection * pconn);
  144. HRESULT HrOnCommandCreateBridge(
  145. IN const PCONFOLDPIDLVEC& apidl,
  146. IN HWND hwndOwner,
  147. IN LPSHELLFOLDER psf);
  148. HRESULT HrOnCommandSetDefault(
  149. IN const PCONFOLDPIDLVEC& apidl,
  150. IN HWND hwndOwner,
  151. IN LPSHELLFOLDER psf);
  152. HRESULT HrOnCommandUnsetDefault(
  153. IN const PCONFOLDPIDLVEC& apidl,
  154. IN HWND hwndOwner,
  155. IN LPSHELLFOLDER psf);
  156. HRESULT HrOnCommandBridgeAddConnections(
  157. IN const PCONFOLDPIDLVEC& apidl,
  158. HWND hwndOwner,
  159. LPSHELLFOLDER psf
  160. );
  161. HRESULT HrOnCommandBridgeRemoveConnections(
  162. IN const PCONFOLDPIDLVEC& apidl,
  163. HWND hwndOwner,
  164. LPSHELLFOLDER psf,
  165. UINT_PTR nDeleteTheNetworkBridgeMode
  166. );
  167. LONG
  168. TotalValidSelectedConnectionsForBridge(
  169. IN const PCONFOLDPIDLVEC& apidlSelected
  170. );
  171. #endif // _ONCOMMAND_H_