mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
4.3 KiB
100 lines
4.3 KiB
//+--------------------------------------------------------------------------
|
|
//
|
|
// Copyright (c) 1997-1999 Microsoft Corporation
|
|
//
|
|
// File: errcode.cpp
|
|
//
|
|
// Contents: Convert License Server error code to TLSAPI return code
|
|
//
|
|
// History:
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
#include "pch.cpp"
|
|
#include "server.h"
|
|
#include "messages.h"
|
|
|
|
//+------------------------------------------------------------------------
|
|
// Function:
|
|
// LSMapReturnCode()
|
|
//
|
|
// Description:
|
|
// Map license server internal code to RPC return code
|
|
//
|
|
// Arguments:
|
|
// dwCode - license server internal code
|
|
//
|
|
// Return Value:
|
|
// RPC return code.
|
|
//
|
|
// Note:
|
|
// Internal routine within this file.
|
|
//-------------------------------------------------------------------------
|
|
DWORD
|
|
TLSMapReturnCode(DWORD dwCode)
|
|
{
|
|
static struct _TLSMapReturnCode {
|
|
DWORD dwErrCode;
|
|
DWORD dwReturnCode;
|
|
} MapReturnCode[] = {
|
|
{ERROR_SUCCESS, LSERVER_S_SUCCESS},
|
|
{TLS_I_SERVICE_STOP, LSERVER_I_SERVICE_SHUTDOWN},
|
|
{TLS_I_NO_MORE_DATA, LSERVER_I_NO_MORE_DATA},
|
|
{TLS_W_LICENSE_PROXIMATE, LSERVER_I_PROXIMATE_LICENSE},
|
|
{TLS_W_TEMPORARY_LICENSE_ISSUED, LSERVER_I_TEMPORARY_LICENSE},
|
|
{TLS_I_FOUND_TEMPORARY_LICENSE, LSERVER_I_TEMPORARY_LICENSE},
|
|
{TLS_E_INTERNAL, LSERVER_E_INTERNAL_ERROR},
|
|
{TLS_E_ACCESS_DENIED, LSERVER_E_ACCESS_DENIED},
|
|
{TLS_E_DUPLICATE_RECORD, LSERVER_E_DUPLICATE},
|
|
{TLS_E_SPKALREADYEXIST, LSERVER_E_DUPLICATE},
|
|
{ERROR_INVALID_HANDLE, LSERVER_E_INVALID_HANDLE},
|
|
{TLS_E_INVALID_SEQUENCE, LSERVER_E_INVALID_SEQUENCE},
|
|
{TLS_E_ALLOCATE_HANDLE, LSERVER_E_SERVER_BUSY},
|
|
{ERROR_OUTOFMEMORY, LSERVER_E_OUTOFMEMORY},
|
|
{TLS_E_INVALID_DATA, LSERVER_E_INVALID_DATA},
|
|
{ERROR_INVALID_DATA, LSERVER_E_INVALID_DATA},
|
|
{TLS_E_DECODE_LKP, LSERVER_E_INVALID_DATA},
|
|
{TLS_E_RECORD_NOTFOUND, LSERVER_E_DATANOTFOUND},
|
|
{TLS_E_SERVERLOOKUP, LSERVER_E_DATANOTFOUND},
|
|
{TLS_E_NO_LICENSE, LSERVER_E_NO_LICENSE},
|
|
{TLS_E_PRODUCT_NOTINSTALL, LSERVER_E_NO_PRODUCT},
|
|
//{TLS_E_LICENSE_REJECTED, LSERVER_E_LICENSE_REJECTED},
|
|
//{TLS_E_LICENSE_REVOKED, LSERVER_E_LICENSE_REVOKED},
|
|
{TLS_E_CORRUPT_DATABASE, LSERVER_E_CORRUPT_DATABASE},
|
|
{TLS_E_LICENSE_EXPIRED, LSERVER_E_LICENSE_EXPIRED},
|
|
{TLS_I_LICENSE_UPGRADED, LSERVER_I_LICENSE_UPGRADED},
|
|
{TLS_E_NOTSUPPORTED, LSERVER_E_NOTSUPPORTED},
|
|
{TLS_E_NO_CERTIFICATE, LSERVER_E_NO_CERTIFICATE},
|
|
{TLS_W_REMOVE_TOOMANY, LSERVER_I_REMOVE_TOOMANY},
|
|
{TLS_E_DECODE_KEYPACKBLOB, LSERVER_E_INVALID_DATA},
|
|
{TLS_W_SELFSIGN_CERTIFICATE, LSERVER_I_SELFSIGN_CERTIFICATE},
|
|
{TLS_W_TEMP_SELFSIGN_CERT, LSERVER_I_TEMP_SELFSIGN_CERT},
|
|
{TLS_E_CH_INSTALL_NON_LSCERTIFICATE, LSERVER_E_NOT_LSCERTIFICATE},
|
|
{TLS_E_POLICYMODULEERROR, LSERVER_E_POLICYMODULEERROR},
|
|
{TLS_E_POLICYMODULEEXCEPTION, LSERVER_E_POLICYMODULEERROR},
|
|
{TLS_E_INCOMPATIBLEVERSION, LSERVER_E_INCOMPATIBLE},
|
|
{TLS_E_INVALID_SPK, LSERVER_E_INVALID_SPK},
|
|
{TLS_E_INVALID_LKP, LSERVER_E_INVALID_LKP},
|
|
{TLS_E_SPK_INVALID_SIGN, LSERVER_E_INVALID_SIGN},
|
|
{TLS_E_LKP_INVALID_SIGN, LSERVER_E_INVALID_SIGN},
|
|
{TLS_E_NOPOLICYMODULE, LSERVER_E_NOPOLICYMODULE},
|
|
{TLS_E_POLICYERROR, LSERVER_E_POLICYDENYREQUEST}
|
|
};
|
|
|
|
static numMapReturnCode=sizeof(MapReturnCode)/sizeof(MapReturnCode[0]);
|
|
|
|
DWORD fStatus;
|
|
|
|
for(int i=0; i < numMapReturnCode && MapReturnCode[i].dwErrCode != dwCode; i++);
|
|
|
|
if(i >= numMapReturnCode)
|
|
{
|
|
fStatus = dwCode;
|
|
// DebugBreak();
|
|
}
|
|
else
|
|
{
|
|
fStatus = MapReturnCode[i].dwReturnCode;
|
|
}
|
|
|
|
return fStatus;
|
|
}
|