﻿/*
	Author: Axt Müller
	Description: Windows-Batch-Deployment DLL function test header file.
	Warning: THIS FILE SHOULD NOT BE MODIFIED.
*/
//################################################################################
// Windows-Batch-Deployment functions
//################################################################################
extern init _init;
extern uninit _uninit;
extern ClientList _ClientList;
extern ClientConnect _ClientConnect;
extern ClientDisconnect _ClientDisconnect;
extern ClientTest _ClientTest;
extern ClientReboot _ClientReboot;
extern ClientShutdown _ClientShutdown;
extern ClientUpdate _ClientUpdate;
extern ClientConfig _ClientConfig;
extern CmdQueryDirectory _CmdQueryDirectory;
extern CmdUploadFileTo _CmdUploadFileTo;
extern CmdDownloadFileFrom _CmdDownloadFileFrom;
extern CmdExecuteBinary _CmdExecuteBinary;
extern CmdSystemShell _CmdSystemShell;
extern CmdFileOperation _CmdFileOperation;
extern CmdQueryRegistry _CmdQueryRegistry;
extern CmdRegistryOperation _CmdRegistryOperation;
extern CmdAddAutoRunBin _CmdAddAutoRunBin;
extern CmdDelAutoRunBin _CmdDelAutoRunBin;
extern CmdQueryAutoRunBin _CmdQueryAutoRunBin;
extern CmdClearAutoRunBin _CmdClearAutoRunBin;
extern CmdQuerySetSystemInformation _CmdQuerySetSystemInformation;
extern CmdReadWriteDisk _CmdReadWriteDisk;
extern UpdateServer _UpdateServer;
extern UpdateClient _UpdateClient;

//################################################################################
// Exposed variables and functions from the template
//################################################################################
extern CHAR g_szLatestClientVersion[16];
extern void __stdcall CreateSimpleServer
(
	DWORD dwServerPort, 
	void *pWorkingProcedure, 
	BOOLEAN bCheckUpdate, 
	BOOLEAN bOnlyConnectOnce, 
	DWORD dwMaxQueryCount,
	DWORD dwQueryInterval
);
//
//Remarks:
//1. The parameter "dwServerPort" indicates the port that use for connection, 
//   the default value is 9999.
//2. The parameter "pWorkingProcedure" indicates an user-defined function, 
//   it contains all operations that will be performed on the client(s).
//3. If the parameter "bCheckUpdate" is set to 1, "g_szLatestClientVersion" will be 
//   filled with information before the user-defined function being called.
//4. If the parameter "bOnlyConnectOnce" is set to 1, user-defined operations will only be performed once on each client. 
//   If the client reboots, the operations will be performed again, because it will be seen as a new client.
//5. The parameter "dwMaxQueryCount" indicates how many times to traverse clients.
//6. The parameter "dwMaxQueryCount" indicates the time interval of each traversal.
//
//Tips:
//if you want to commit operations to all clients ONCE and then exit, 
//   the parameters can be: (x,x,x,1,11,1111);
//if you want to commit operations to all clients ONCE and keep running (wait for clients that are not online yet), 
//   the parameters can be: (x,x,x,1,0,1111);
//if you want to commit operations to all clients MULTIPLE times and keep running (wait for clients that are not online yet), 
//   the parameters can be: (x,x,x,0,0,1111);