Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
paper.h
Abstract:
Paper certificate dialog prototype.
Author:
Jeff Parham (jeffparh) 13-Dec-1995
Revision History:
--*/
// constrained by number of bits allowed for it in KeyCode (see below)
#define MAX_NUM_LICENSES ( 4095 )
// XOR mask for key code value; this is so that the high bits that are
// usually set for the key code need not be entered -- they only need
// be entered if the high bits are _not_ set
#define KEY_CODE_MASK ( 0xF0000000 )
class CPaperSourceDlg : public CDialog { // Construction
public: CPaperSourceDlg(CWnd* pParent = NULL); // standard constructor
~CPaperSourceDlg();
DWORD CertificateEnter( LPCSTR pszServerName, LPCSTR pszProductName, LPCSTR pszVendor, DWORD dwFlags ); DWORD CertificateRemove( LPCSTR pszServerName, DWORD dwFlags, PLLS_LICENSE_INFO_1 pLicenseInfo );
BOOL ConnectServer(); BOOL ConnectEnterprise(); NTSTATUS ConnectTo( BOOL bUseEnterprise, CString strServerName, PLLS_HANDLE phLls ); void AbortDialogIfNecessary();
void GetProductList();
DWORD ComputeActivationCode(); NTSTATUS AddLicense();
BOOL m_bProductListRetrieved; DWORD m_dwEnterFlags; CString m_strServerName;
LLS_HANDLE m_hLls; LLS_HANDLE m_hEnterpriseLls;
// KeyCode format:
//
// 31....................................0
// | 2 | 2 | 16 | 12 |
// A B C D
//
// ModesAllowed = A
// Bit field: bit 0 = allow per seat
// bit 1 = allow per server
//
// FlipsAllowed = B
// Bit field: bit 0 = allow flip from per seat
// bit 1 = allow flip from per server
// (THIS IS CURRENTLY UNIMPLEMENTED.)
//
// ExpirationDate = C
// Bit field: bits 0-6 = years since 1980
// bits 7-10 = month (1-12)
// bits 11-15 = day (1-31)
//
// NumLicenses = D
DWORD KeyCodeToNumLicenses( DWORD dwKeyCode ); DWORD KeyCodeToFlipsAllowed( DWORD dwKeyCode ); DWORD KeyCodeToModesAllowed( DWORD dwKeyCode ); DWORD KeyCodeToExpirationDate( DWORD dwKeyCode );
// Dialog Data
//{{AFX_DATA(CPaperSourceDlg)
enum { IDD = IDD_CERT_SOURCE_PAPER }; CSpinButtonCtrl m_spinLicenses; CComboBox m_cboxProductName; CString m_strActivationCode; CString m_strKeyCode; CString m_strSerialNumber; CString m_strVendor; CString m_strProductName; CString m_strComment; int m_nDontInstallAllLicenses; int m_nLicenses; int m_nLicenseMode; //}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPaperSourceDlg)
public: virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
void EnableOrDisableOK();
// Generated message map functions
//{{AFX_MSG(CPaperSourceDlg)
afx_msg void OnUpdateActivationCode(); afx_msg void OnUpdateKeyCode(); afx_msg void OnUpdateVendor(); virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnUpdateSerialNumber(); afx_msg void OnUpdateProductName(); afx_msg void OnDropDownProductName(); afx_msg void OnHelp(); afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); afx_msg void OnDestroy(); afx_msg void OnAllLicenses(); afx_msg void OnSomeLicenses(); afx_msg void OnDeltaPosSpinLicenses(NMHDR* pNMHDR, LRESULT* pResult); //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
///////////////////////////////////
inline DWORD CPaperSourceDlg::KeyCodeToNumLicenses( DWORD dwKeyCode ) { return ( dwKeyCode & 0x00000FFF ); }
inline DWORD CPaperSourceDlg::KeyCodeToModesAllowed( DWORD dwKeyCode ) { return ( dwKeyCode >> 30 ); }
inline DWORD CPaperSourceDlg::KeyCodeToFlipsAllowed( DWORD dwKeyCode ) { return ( ( dwKeyCode >> 28 ) & 0x3 ); }
|