|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef _INC_WDSCLIENTAPI | 
|  | #define _INC_WDSCLIENTAPI | 
|  | #if (_WIN32_WINNT >= 0x0600) | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #define WDS_CLI_MSG_START 0 | 
|  | #define WDS_CLI_MSG_COMPLETE 1 | 
|  | #define WDS_CLI_MSG_PROGRESS 2 | 
|  | #define WDS_CLI_MSG_TEXT 3 | 
|  |  | 
|  | #ifndef WDSCLIAPI | 
|  | #define WDSCLIAPI WINAPI | 
|  | #endif | 
|  |  | 
|  | /* WdsClientAPI.dll is missing an implib because Vista clients don't have the dll to generate it from */ | 
|  |  | 
|  | typedef VOID (CALLBACK *PFN_WdsCliCallback)( | 
|  | DWORD dwMessageId, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | PVOID pvUserData | 
|  | ); | 
|  |  | 
|  | typedef VOID (WDSCLIAPI *PFN_WdsCliTraceFunction)( | 
|  | LPCWSTR pwszFormat, | 
|  | va_list Params | 
|  | ); | 
|  |  | 
|  |  | 
|  | typedef enum _WDS_LOG_LEVEL { | 
|  | WDS_LOG_LEVEL_DISABLED   = 0, | 
|  | WDS_LOG_LEVEL_ERROR      = 1, | 
|  | WDS_LOG_LEVEL_WARNING    = 2, | 
|  | WDS_LOG_LEVEL_INFO       = 3 | 
|  | } WDS_LOG_LEVEL; | 
|  |  | 
|  | typedef enum _WDS_LOG_TYPE_CLIENT { | 
|  | WDS_LOG_TYPE_CLIENT_ERROR             = 1, | 
|  | WDS_LOG_TYPE_CLIENT_STARTED, | 
|  | WDS_LOG_TYPE_CLIENT_FINISHED, | 
|  | WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED, | 
|  | WDS_LOG_TYPE_CLIENT_APPLY_STARTED, | 
|  | WDS_LOG_TYPE_CLIENT_APPLY_FINISHED, | 
|  | WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE, | 
|  | WDS_LOG_TYPE_CLIENT_MAX_CODE | 
|  | } WDS_LOG_TYPE_CLIENT; | 
|  |  | 
|  | typedef struct tagWDS_CLI_CRED { | 
|  | PCWSTR  pwszUserName; | 
|  | PCWSTR pwszDomain; | 
|  | PCWSTR pwszPassword; | 
|  | } WDS_CLI_CRED, *PWDS_CLI_CRED, *LPWDS_CLI_CRED; | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliAuthorizeSession( | 
|  | HANDLE hSession, | 
|  | PWDS_CLI_CRED pCred | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliCancelTransfer( | 
|  | HANDLE hTransfer | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliClose( | 
|  | HANDLE Handle | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliCreateSession( | 
|  | PWSTR pwszServer, | 
|  | PWDS_CLI_CRED pCred, | 
|  | PHANDLE phSession | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliFindFirstImage( | 
|  | HANDLE hSession, | 
|  | PHANDLE phFindHandle | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliFindNextImage( | 
|  | HANDLE Handle | 
|  | ); | 
|  |  | 
|  | #define WdsCliFlagEnumFilterVersion 1 | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetEnumerationFlags( | 
|  | HANDLE Handle, | 
|  | PDWORD pdwFlags | 
|  | ); | 
|  |  | 
|  | #define PROCESSOR_ARCHITECTURE_AMD64 9 | 
|  | #define PROCESSOR_ARCHITECTURE_IA64 6 | 
|  | #define PROCESSOR_ARCHITECTURE_INTEL 0 | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageArchitecture( | 
|  | HANDLE hIfh, | 
|  | PDWORD pdwValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageDescription( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageGroup( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageHalName( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageHandleFromFindHandle( | 
|  | HANDLE FindHandle, | 
|  | PHANDLE phImageHandle | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageHandleFromTransferHandle( | 
|  | HANDLE hTransfer, | 
|  | PHANDLE phImageHandle | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageIndex( | 
|  | HANDLE hIfh, | 
|  | PDWORD pdwValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageLanguage( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageLanguages( | 
|  | HANDLE hIfh, | 
|  | PTSTR **pppszValues, | 
|  | PDWORD pdwNumValues | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageLastModifiedTime( | 
|  | HANDLE hIfh, | 
|  | PSYSTEMTIME *ppSysTimeValue | 
|  | ); | 
|  |  | 
|  | HRESULT WINAPI WdsCliGetImageName( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageNamespace( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImagePath( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageSize( | 
|  | HANDLE hIfh, | 
|  | PULONGLONG pullValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetImageVersion( | 
|  | HANDLE hIfh, | 
|  | PWSTR *ppwszValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliGetTransferSize( | 
|  | HANDLE hIfh, | 
|  | PULONGLONG pullValue | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliInitializeLog( | 
|  | HANDLE hSession, | 
|  | ULONG ulClientArchitecture, | 
|  | PWSTR pwszClientId, | 
|  | PWSTR pwszClientAddress | 
|  | ); | 
|  |  | 
|  | #define WDS_LOG_LEVEL_DISABLED 0 | 
|  | #define WDS_LOG_LEVEL_ERROR 1 | 
|  | #define WDS_LOG_LEVEL_WARNING 2 | 
|  | #define WDS_LOG_LEVEL_INFO 3 | 
|  |  | 
|  | #define WDS_LOG_TYPE_CLIENT_ERROR 1 | 
|  | #define WDS_LOG_TYPE_CLIENT_STARTED 2 | 
|  | #define WDS_LOG_TYPE_CLIENT_FINISHED 3 | 
|  | #define WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED 4 | 
|  | #define WDS_LOG_TYPE_CLIENT_APPLY_STARTED 5 | 
|  | #define WDS_LOG_TYPE_CLIENT_APPLY_FINISHED 6 | 
|  | #define WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE 7 | 
|  | #define WDS_LOG_TYPE_CLIENT_MAX_CODE 8 | 
|  |  | 
|  | HRESULT __cdecl WdsCliLog( | 
|  | HANDLE hSession, | 
|  | ULONG ulLogLevel, | 
|  | ULONG ulMessageCode, | 
|  | ... | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliRegisterTrace( | 
|  | PFN_WdsCliTraceFunction pfn | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliTransferFile( | 
|  | PCWSTR pwszServer, | 
|  | PCWSTR pwszNamespace, | 
|  | PCWSTR pwszRemoteFilePath, | 
|  | PCWSTR pwszLocalFilePath, | 
|  | DWORD dwFlags, | 
|  | DWORD dwReserved, | 
|  | PFN_WdsCliCallback pfnWdsCliCallback, | 
|  | PVOID pvUserData, | 
|  | PHANDLE phTransfer | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliTransferImage( | 
|  | HANDLE hImage, | 
|  | PWSTR pwszLocalPath, | 
|  | DWORD dwFlags, | 
|  | DWORD dwReserved, | 
|  | PFN_WdsCliCallback pfnWdsCliCallback, | 
|  | PVOID pvUserData, | 
|  | PHANDLE phTransfer | 
|  | ); | 
|  |  | 
|  | HRESULT WDSCLIAPI WdsCliWaitForTransfer( | 
|  | HANDLE hTransfer | 
|  | ); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
|  | #endif /*_INC_WDSCLIENTAPI*/ |