Files
KMSEmulator/include/KMSServerLogic.h
2016-04-06 00:19:14 -07:00

29 lines
1.4 KiB
C

//---------------------------------------------------------------------------
// Header Guard
#pragma once
// Includes and Namespaces
#include <windows.h>
#include <Strsafe.h>
#include "CoreKMS.h"
//---------------------------------------------------------------------------
// Function Prototypes
void LoadServerParameters(int argc, wchar_t* argv[], bool RunAsService);
void StartKMSServer();
void StopKMSServer();
DWORD CreateResponseBase(REQUEST* const Request, PBYTE const Response);
PBYTE CreateResponseV4(REQUEST_V4* const Request, int* const responseSize);
PBYTE CreateResponseV5(REQUEST_V5* const Request, int* const responseSize);
PBYTE CreateResponseV6(REQUEST_V6* const Request, int* const responseSize);
void ServerValidateKMSPort(WCHAR* KMSPort);
void ServerValidateKMSPID(WCHAR* KMSPID);
void ServerValidateKMSHWID(WCHAR* KMSHWID);
void ServerValidateVLActivationInterval(int VLActivationInterval);
void ServerValidateVLRenewalInterval(int VLRenewalInterval);
void ServerWriteLogInformation(WCHAR* const Message);
void ServerWriteLogError(WCHAR* const Message);
void ServerWriteLogErrorTerminate(WCHAR* const Message, int ExitCode);
void ServerWriteEventLogEntry(DWORD dwIdentifier, WCHAR* const lpszMessage, WORD wType);
void GetHmacKey(FILETIME* timestamp, PBYTE hmackey);
void GetHmacSHA256(DWORD dwDataLen, PBYTE const pbData, PBYTE const pbHash);
//---------------------------------------------------------------------------