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.

172 lines
3.5 KiB

  1. /*****************************************************************/
  2. /** Microsoft Windows **/
  3. //* Copyright (c) Microsoft Corporation. All rights reserved. **/
  4. /*****************************************************************/
  5. /*
  6. msshrui.h
  7. Prototypes and definitions for sharing APIs
  8. FILE HISTORY:
  9. gregj 06/03/93 Created
  10. brucefo 3/5/96 Fixed prototypes for NT
  11. */
  12. #ifndef _INC_MSSHRUI
  13. #define _INC_MSSHRUI
  14. #ifndef RC_INVOKED
  15. #pragma pack(1) /* Assume byte packing throughout */
  16. #endif /* !RC_INVOKED */
  17. #ifdef __cplusplus
  18. extern "C" { /* Assume C declarations for C++ */
  19. #endif /* __cplusplus */
  20. // Note: make sure you GetProcAddress the proper (ANSI/UNICODE) entrypoint!
  21. BOOL WINAPI
  22. IsPathShared(
  23. IN LPCTSTR lpPath,
  24. IN BOOL fRefresh
  25. );
  26. typedef
  27. BOOL
  28. (WINAPI* PFNISPATHSHARED)(
  29. IN LPCTSTR lpPath,
  30. IN BOOL fRefresh
  31. );
  32. BOOL WINAPI
  33. SharingDialog(
  34. IN HWND hwndParent,
  35. IN LPTSTR pszComputerName,
  36. IN LPTSTR pszPath
  37. );
  38. typedef
  39. BOOL
  40. (WINAPI* PFNSHARINGDIALOG)(
  41. IN HWND hwndParent,
  42. IN LPTSTR pszComputerName,
  43. IN LPTSTR pszPath
  44. );
  45. BOOL WINAPI
  46. GetNetResourceFromLocalPath(
  47. IN LPCTSTR lpcszPath,
  48. IN OUT LPTSTR lpszNameBuf,
  49. IN DWORD cchNameBufLen,
  50. OUT PDWORD pdwNetType
  51. );
  52. typedef
  53. BOOL
  54. (WINAPI* PFNGETNETRESOURCEFROMLOCALPATH)(
  55. IN LPCTSTR lpcszPath,
  56. IN OUT LPTSTR lpszNameBuf,
  57. IN DWORD cchNameBufLen,
  58. OUT PDWORD pdwNetType
  59. );
  60. BOOL WINAPI
  61. GetLocalPathFromNetResource(
  62. IN LPCTSTR lpcszName,
  63. IN DWORD dwNetType,
  64. IN OUT LPTSTR lpszLocalPathBuf,
  65. IN DWORD cchLocalPathBufLen,
  66. OUT PBOOL pbIsLocal
  67. );
  68. typedef
  69. BOOL
  70. (WINAPI* PFNGETLOCALPATHFROMNETRESOURCE)(
  71. IN LPCTSTR lpcszName,
  72. IN DWORD dwNetType,
  73. IN OUT LPTSTR lpszLocalPathBuf,
  74. IN DWORD cchLocalPathBufLen,
  75. OUT PBOOL pbIsLocal
  76. );
  77. // Flags returned by IsFolderPrivateForUser via pdwPrivateType
  78. #define IFPFU_NOT_PRIVATE 0x0000
  79. #define IFPFU_PRIVATE 0x0001
  80. #define IFPFU_PRIVATE_INHERITED 0x0002
  81. #define IFPFU_NOT_NTFS 0x0004
  82. BOOL WINAPI
  83. IsFolderPrivateForUser(
  84. IN PCWSTR pszFolderPath,
  85. IN PCWSTR pszUserSID,
  86. OUT PDWORD pdwPrivateType,
  87. OUT PWSTR* ppszInheritanceSource
  88. );
  89. typedef
  90. BOOL
  91. (WINAPI* PFNISFOLDERPRIVATEFORUSER)(
  92. IN PCWSTR pszFolderPath,
  93. IN PCWSTR pszUserSID,
  94. OUT PDWORD pdwPrivateType,
  95. OUT PWSTR* ppszInheritanceSource
  96. );
  97. BOOL WINAPI
  98. SetFolderPermissionsForSharing(
  99. IN PCWSTR pszFolderPath,
  100. IN PCWSTR pszUserSID,
  101. IN DWORD dwLevel,
  102. IN HWND hwndParent
  103. );
  104. typedef
  105. BOOL
  106. (WINAPI* PFNSETFOLDERPERMISSIONSFORSHARING)(
  107. IN PCWSTR pszFolderPath,
  108. IN PCWSTR pszUserSID,
  109. IN DWORD dwLevel,
  110. IN HWND hwndParent
  111. );
  112. #ifndef WINNT
  113. UINT WINAPI ShareDirectoryNotify(HWND hwnd, LPCSTR lpDir, DWORD dwOper);
  114. #ifndef WNDN_MKDIR
  115. #define WNDN_MKDIR 1
  116. #define WNDN_RMDIR 2
  117. #define WNDN_MVDIR 3
  118. #endif
  119. #define ORD_SHARESHUTDOWNNOTIFY 12
  120. BOOL WINAPI
  121. ShareShutdownNotify(
  122. DWORD dwFlags,
  123. UINT uiMessage,
  124. WPARAM wParam,
  125. LPARAM lParam
  126. );
  127. typedef
  128. BOOL
  129. (WINAPI* pfnShareShutdownNotify)(
  130. DWORD dwFlags,
  131. UINT uiMessage,
  132. WPARAM wParam,
  133. LPARAM lParam
  134. );
  135. #endif // WINNT
  136. #ifndef RC_INVOKED
  137. #pragma pack()
  138. #endif
  139. #ifdef __cplusplus
  140. }
  141. #endif /* __cplusplus */
  142. #endif /* !_INC_MSSHRUI */