113 lines
3.3 KiB
C++
113 lines
3.3 KiB
C++
/*++
|
|
|
|
Copyright (c) 1995 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ccfapi.cpp
|
|
|
|
Abstract:
|
|
|
|
Prototype of CCcfApiApp, the MFC application object for CCFAPI32.DLL.
|
|
|
|
Author:
|
|
|
|
Jeff Parham (jeffparh) 13-Dec-1995
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __AFXWIN_H__
|
|
#error include 'stdafx.h' before including this file for PCH
|
|
#endif
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
class CCcfApiApp : public CWinApp
|
|
{
|
|
public:
|
|
// constructor
|
|
CCcfApiApp();
|
|
|
|
// error API
|
|
void SetLastError( DWORD dwLastError );
|
|
DWORD GetLastError();
|
|
|
|
void SetLastLlsError( NTSTATUS nt );
|
|
DWORD GetLastLlsError();
|
|
BOOL IsConnectionDropped();
|
|
|
|
CString GetLastErrorString();
|
|
void DisplayLastError();
|
|
|
|
// help API
|
|
LPCTSTR GetHelpFileName();
|
|
|
|
// CCF API
|
|
DWORD CertificateEnter( HWND hWndParent, LPCSTR pszServerName, LPCSTR pszProductName, LPCSTR pszVendor, DWORD dwFlags, LPCSTR pszSourceToUse );
|
|
DWORD CertificateRemove( HWND hWndParent, LPCSTR pszServerName, LPCSTR pszProductName, LPCSTR pszVendor, DWORD dwFlags, LPCSTR pszSourceToUse );
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CCcfApiApp)
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CCcfApiApp)
|
|
// NOTE - the ClassWizard will add and remove member functions here.
|
|
// DO NOT EDIT what you see in these blocks of generated code !
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
DWORD m_LastError;
|
|
NTSTATUS m_LastLlsError;
|
|
CString m_strHelpFileName;
|
|
};
|
|
|
|
// return the name of the CCF UI help file
|
|
inline LPCTSTR CCcfApiApp::GetHelpFileName()
|
|
{ return m_strHelpFileName; }
|
|
|
|
// set last general error
|
|
inline void CCcfApiApp::SetLastError( DWORD dwLastError )
|
|
{ m_LastError = dwLastError; }
|
|
|
|
// get last general error
|
|
inline DWORD CCcfApiApp::GetLastError()
|
|
{ return m_LastError; }
|
|
|
|
// set last license server API error
|
|
inline void CCcfApiApp::SetLastLlsError( NTSTATUS nt )
|
|
{ m_LastLlsError = nt; m_LastError = (DWORD) nt; }
|
|
|
|
// get last license server API error
|
|
inline DWORD CCcfApiApp::GetLastLlsError()
|
|
{ return m_LastLlsError; }
|
|
|
|
// did the last license server call fail because of a lack of connectivity?
|
|
inline BOOL CCcfApiApp::IsConnectionDropped()
|
|
{ return ( (m_LastLlsError == STATUS_INVALID_HANDLE) ||
|
|
(m_LastLlsError == RPC_NT_SERVER_UNAVAILABLE) ||
|
|
(m_LastLlsError == RPC_NT_SS_CONTEXT_MISMATCH) ||
|
|
(m_LastLlsError == RPC_S_SERVER_UNAVAILABLE) ||
|
|
(m_LastLlsError == RPC_S_CALL_FAILED) ); }
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// maximum amount of data to request at a time from license server
|
|
#define LLS_PREFERRED_LENGTH ((DWORD)-1L)
|
|
|
|
extern CCcfApiApp theApp;
|
|
|
|
|
|
extern "C"
|
|
{
|
|
DWORD APIENTRY NoCertificateEnter( HWND hWnd, LPCSTR pszServerName, LPCSTR pszProductName, LPCSTR pszVendor, DWORD dwFlags );
|
|
DWORD APIENTRY NoCertificateRemove( HWND hWnd, LPCSTR pszServerName, DWORD dwFlags, DWORD dwLicenseLevel, LPVOID pvLicenseInfo );
|
|
#ifdef OBSOLETE
|
|
DWORD APIENTRY PaperCertificateEnter( HWND hWnd, LPCSTR pszServerName, LPCSTR pszProductName, LPCSTR pszVendor, DWORD dwFlags );
|
|
DWORD APIENTRY PaperCertificateRemove( HWND hWnd, LPCSTR pszServerName, DWORD dwFlags, DWORD dwLicenseLevel, LPVOID pvLicenseInfo );
|
|
#endif // OBSOLETE
|
|
}
|