/** * 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*/