wdsclientapi.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_WDSCLIENTAPI
  7. #define _INC_WDSCLIENTAPI
  8. #if (_WIN32_WINNT >= 0x0600)
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #define WDS_CLI_MSG_START 0
  13. #define WDS_CLI_MSG_COMPLETE 1
  14. #define WDS_CLI_MSG_PROGRESS 2
  15. #define WDS_CLI_MSG_TEXT 3
  16. #ifndef WDSCLIAPI
  17. #define WDSCLIAPI WINAPI
  18. #endif
  19. /* WdsClientAPI.dll is missing an implib because Vista clients don't have the dll to generate it from */
  20. typedef VOID (CALLBACK *PFN_WdsCliCallback)(
  21. DWORD dwMessageId,
  22. WPARAM wParam,
  23. LPARAM lParam,
  24. PVOID pvUserData
  25. );
  26. typedef VOID (WDSCLIAPI *PFN_WdsCliTraceFunction)(
  27. LPCWSTR pwszFormat,
  28. va_list Params
  29. );
  30. typedef enum _WDS_LOG_LEVEL {
  31. WDS_LOG_LEVEL_DISABLED = 0,
  32. WDS_LOG_LEVEL_ERROR = 1,
  33. WDS_LOG_LEVEL_WARNING = 2,
  34. WDS_LOG_LEVEL_INFO = 3
  35. } WDS_LOG_LEVEL;
  36. typedef enum _WDS_LOG_TYPE_CLIENT {
  37. WDS_LOG_TYPE_CLIENT_ERROR = 1,
  38. WDS_LOG_TYPE_CLIENT_STARTED,
  39. WDS_LOG_TYPE_CLIENT_FINISHED,
  40. WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED,
  41. WDS_LOG_TYPE_CLIENT_APPLY_STARTED,
  42. WDS_LOG_TYPE_CLIENT_APPLY_FINISHED,
  43. WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE,
  44. WDS_LOG_TYPE_CLIENT_MAX_CODE
  45. } WDS_LOG_TYPE_CLIENT;
  46. typedef struct tagWDS_CLI_CRED {
  47. PCWSTR pwszUserName;
  48. PCWSTR pwszDomain;
  49. PCWSTR pwszPassword;
  50. } WDS_CLI_CRED, *PWDS_CLI_CRED, *LPWDS_CLI_CRED;
  51. HRESULT WDSCLIAPI WdsCliAuthorizeSession(
  52. HANDLE hSession,
  53. PWDS_CLI_CRED pCred
  54. );
  55. HRESULT WDSCLIAPI WdsCliCancelTransfer(
  56. HANDLE hTransfer
  57. );
  58. HRESULT WDSCLIAPI WdsCliClose(
  59. HANDLE Handle
  60. );
  61. HRESULT WDSCLIAPI WdsCliCreateSession(
  62. PWSTR pwszServer,
  63. PWDS_CLI_CRED pCred,
  64. PHANDLE phSession
  65. );
  66. HRESULT WDSCLIAPI WdsCliFindFirstImage(
  67. HANDLE hSession,
  68. PHANDLE phFindHandle
  69. );
  70. HRESULT WDSCLIAPI WdsCliFindNextImage(
  71. HANDLE Handle
  72. );
  73. #define WdsCliFlagEnumFilterVersion 1
  74. HRESULT WDSCLIAPI WdsCliGetEnumerationFlags(
  75. HANDLE Handle,
  76. PDWORD pdwFlags
  77. );
  78. #define PROCESSOR_ARCHITECTURE_AMD64 9
  79. #define PROCESSOR_ARCHITECTURE_IA64 6
  80. #define PROCESSOR_ARCHITECTURE_INTEL 0
  81. HRESULT WDSCLIAPI WdsCliGetImageArchitecture(
  82. HANDLE hIfh,
  83. PDWORD pdwValue
  84. );
  85. HRESULT WDSCLIAPI WdsCliGetImageDescription(
  86. HANDLE hIfh,
  87. PWSTR *ppwszValue
  88. );
  89. HRESULT WDSCLIAPI WdsCliGetImageGroup(
  90. HANDLE hIfh,
  91. PWSTR *ppwszValue
  92. );
  93. HRESULT WDSCLIAPI WdsCliGetImageHalName(
  94. HANDLE hIfh,
  95. PWSTR *ppwszValue
  96. );
  97. HRESULT WDSCLIAPI WdsCliGetImageHandleFromFindHandle(
  98. HANDLE FindHandle,
  99. PHANDLE phImageHandle
  100. );
  101. HRESULT WDSCLIAPI WdsCliGetImageHandleFromTransferHandle(
  102. HANDLE hTransfer,
  103. PHANDLE phImageHandle
  104. );
  105. HRESULT WDSCLIAPI WdsCliGetImageIndex(
  106. HANDLE hIfh,
  107. PDWORD pdwValue
  108. );
  109. HRESULT WDSCLIAPI WdsCliGetImageLanguage(
  110. HANDLE hIfh,
  111. PWSTR *ppwszValue
  112. );
  113. HRESULT WDSCLIAPI WdsCliGetImageLanguages(
  114. HANDLE hIfh,
  115. PTSTR **pppszValues,
  116. PDWORD pdwNumValues
  117. );
  118. HRESULT WDSCLIAPI WdsCliGetImageLastModifiedTime(
  119. HANDLE hIfh,
  120. PSYSTEMTIME *ppSysTimeValue
  121. );
  122. HRESULT WINAPI WdsCliGetImageName(
  123. HANDLE hIfh,
  124. PWSTR *ppwszValue
  125. );
  126. HRESULT WDSCLIAPI WdsCliGetImageNamespace(
  127. HANDLE hIfh,
  128. PWSTR *ppwszValue
  129. );
  130. HRESULT WDSCLIAPI WdsCliGetImagePath(
  131. HANDLE hIfh,
  132. PWSTR *ppwszValue
  133. );
  134. HRESULT WDSCLIAPI WdsCliGetImageSize(
  135. HANDLE hIfh,
  136. PULONGLONG pullValue
  137. );
  138. HRESULT WDSCLIAPI WdsCliGetImageVersion(
  139. HANDLE hIfh,
  140. PWSTR *ppwszValue
  141. );
  142. HRESULT WDSCLIAPI WdsCliGetTransferSize(
  143. HANDLE hIfh,
  144. PULONGLONG pullValue
  145. );
  146. HRESULT WDSCLIAPI WdsCliInitializeLog(
  147. HANDLE hSession,
  148. ULONG ulClientArchitecture,
  149. PWSTR pwszClientId,
  150. PWSTR pwszClientAddress
  151. );
  152. #define WDS_LOG_LEVEL_DISABLED 0
  153. #define WDS_LOG_LEVEL_ERROR 1
  154. #define WDS_LOG_LEVEL_WARNING 2
  155. #define WDS_LOG_LEVEL_INFO 3
  156. #define WDS_LOG_TYPE_CLIENT_ERROR 1
  157. #define WDS_LOG_TYPE_CLIENT_STARTED 2
  158. #define WDS_LOG_TYPE_CLIENT_FINISHED 3
  159. #define WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED 4
  160. #define WDS_LOG_TYPE_CLIENT_APPLY_STARTED 5
  161. #define WDS_LOG_TYPE_CLIENT_APPLY_FINISHED 6
  162. #define WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE 7
  163. #define WDS_LOG_TYPE_CLIENT_MAX_CODE 8
  164. HRESULT __cdecl WdsCliLog(
  165. HANDLE hSession,
  166. ULONG ulLogLevel,
  167. ULONG ulMessageCode,
  168. ...
  169. );
  170. HRESULT WDSCLIAPI WdsCliRegisterTrace(
  171. PFN_WdsCliTraceFunction pfn
  172. );
  173. HRESULT WDSCLIAPI WdsCliTransferFile(
  174. PCWSTR pwszServer,
  175. PCWSTR pwszNamespace,
  176. PCWSTR pwszRemoteFilePath,
  177. PCWSTR pwszLocalFilePath,
  178. DWORD dwFlags,
  179. DWORD dwReserved,
  180. PFN_WdsCliCallback pfnWdsCliCallback,
  181. PVOID pvUserData,
  182. PHANDLE phTransfer
  183. );
  184. HRESULT WDSCLIAPI WdsCliTransferImage(
  185. HANDLE hImage,
  186. PWSTR pwszLocalPath,
  187. DWORD dwFlags,
  188. DWORD dwReserved,
  189. PFN_WdsCliCallback pfnWdsCliCallback,
  190. PVOID pvUserData,
  191. PHANDLE phTransfer
  192. );
  193. HRESULT WDSCLIAPI WdsCliWaitForTransfer(
  194. HANDLE hTransfer
  195. );
  196. #ifdef __cplusplus
  197. }
  198. #endif
  199. #endif /*(_WIN32_WINNT >= 0x0600)*/
  200. #endif /*_INC_WDSCLIENTAPI*/