Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
iih.h
Package: win2ksrc.rar [view]
Upload User: caisha3
Upload Date: 2013-09-21
Package Size: 208739k
Code Size: 6k
Category:
Windows Develop
Development Platform:
Visual C++
- //+---------------------------------------------------------------------------
- //
- // Microsoft Windows NT Security
- // Copyright (C) Microsoft Corporation, 1992 - 1999
- //
- // File: iih.h
- //
- // Contents: ACUI Invoke Info Helper class definition
- //
- // History: 10-May-97 kirtd Created
- //
- //----------------------------------------------------------------------------
- #if !defined(__IIH_H__)
- #define __IIH_H__
- #include <acui.h>
- #include <acuictl.h>
- extern HINSTANCE g_hModule;
- //
- // CInvokeInfoHelper is used to pull various pieces of information out
- // of the ACUI_INVOKE_INFO data structure
- //
- class CInvokeInfoHelper
- {
- public:
- //
- // Initialization
- //
- CInvokeInfoHelper (
- PACUI_INVOKE_INFO pInvokeInfo,
- HRESULT& rhr
- );
- ~CInvokeInfoHelper ();
- //
- // Information Retrieval Methods
- //
- LPCWSTR Subject() { return(m_pszSubject); }
- LPCWSTR Publisher() { return(m_pszPublisher); }
- LPCWSTR PublisherCertIssuer() { return(m_pszPublisherCertIssuer); }
- LPCWSTR ControlWebPage() { return(m_pszControlWebPage); }
- LPCWSTR CAWebPage() { return(m_pszCAWebPage); }
- LPCWSTR AdvancedLink() { return(m_pszAdvancedLink); }
- LPCWSTR CertTimestamp() { return(m_pszCertTimestamp); }
- LPCWSTR TestCertInChain() { return(m_pszTestCertInChain); }
- LPCWSTR ErrorStatement() { return(m_pszErrorStatement); }
- PCRYPT_PROVIDER_DATA ProviderData() { return(m_pInvokeInfo->pProvData); }
- BOOL IsKnownPublisher() { return(m_fKnownPublisher); }
- BOOL IsCertViewPropertiesAvailable() { return(m_pfnCVPA != NULL); }
- //
- // Personal Trust management
- //
- HRESULT AddPublisherToPersonalTrust ();
- //
- // UI control management
- //
- HRESULT GetUIControl (IACUIControl** ppUI);
- VOID ReleaseUIControl (IACUIControl* pUI);
- inline BOOL CallCertViewProperties (HWND hwndParent);
- inline VOID CallAdvancedLink (HWND hwndParent);
- inline VOID CallWebLink(HWND hwndParent, WCHAR *pszLink);
- private:
- //
- // Invoke Info holder
- //
- PACUI_INVOKE_INFO m_pInvokeInfo;
- //
- // Subject, Publisher, Issuer and Error Statement strings
- //
- LPWSTR m_pszSubject;
- LPWSTR m_pszPublisher;
- LPWSTR m_pszPublisherCertIssuer;
- LPWSTR m_pszErrorStatement;
- LPWSTR m_pszCertTimestamp;
- LPWSTR m_pszAdvancedLink;
- LPWSTR m_pszTestCertInChain;
- LPWSTR m_pszControlWebPage;
- LPWSTR m_pszCAWebPage;
- //
- // Known publisher flag
- //
- BOOL m_fKnownPublisher;
- //
- // Cert view properties entry point
- //
- HINSTANCE m_hModCVPA;
- pfnCertViewProperties m_pfnCVPA;
- //
- // Private methods
- //
- HRESULT InitSubject();
- HRESULT InitPublisher();
- HRESULT InitPublisherCertIssuer();
- HRESULT InitErrorStatement();
- HRESULT InitCertTimestamp();
- VOID InitCertViewPropertiesEntryPoint();
- LPWSTR GetFormattedCertTimestamp(LPSYSTEMTIME pst);
- BOOL IsTestCertInPublisherChain();
- VOID InitAdvancedLink();
- VOID InitTestCertInChain();
- VOID InitControlWebPage();
- VOID InitCAWebPage();
- };
- //
- // Error mapping helper
- //
- HRESULT ACUIMapErrorToString (HRESULT hr, LPWSTR* ppsz);
- //
- // Inline methods
- //
- //+---------------------------------------------------------------------------
- //
- // Member: CInvokeInfoHelper::CallCertViewProperties, public
- //
- // Synopsis: calls the cert view properties entry point
- //
- // Arguments: [hwndParent] -- parent window handle
- //
- // Returns: Result of CertViewPropertiesW call
- //
- // Notes:
- //
- //----------------------------------------------------------------------------
- inline BOOL
- CInvokeInfoHelper::CallCertViewProperties (HWND hwndParent)
- {
- CRYPT_PROVIDER_SGNR *pSgnr;
- CRYPT_PROVIDER_CERT *pCert;
- //
- // Setup the common dialog call structure
- //
- CVP_STRUCTDEF cvsa;
- memset(&cvsa, 0, sizeof(CVP_STRUCTDEF));
- cvsa.dwSize = sizeof(CVP_STRUCTDEF);
- cvsa.hwndParent = hwndParent;
- # if (USE_IEv4CRYPT32)
- cvsa.hInstance = g_hModule;
- # else
- cvsa.pCryptProviderData = ProviderData();
- cvsa.fpCryptProviderDataTrustedUsage = (m_pInvokeInfo->hrInvokeReason == ERROR_SUCCESS) ? TRUE : FALSE;
- # endif
- if (pSgnr = WTHelperGetProvSignerFromChain(ProviderData(), 0, FALSE, 0))
- {
- if (pCert = WTHelperGetProvCertFromChain(pSgnr, 0))
- {
- cvsa.pCertContext = pCert->pCert;
- }
- }
- //
- // Bring up the dialog
- //
- # if (USE_IEv4CRYPT32)
- (*m_pfnCVPA)(&cvsa);
- # else
- (*m_pfnCVPA)(&cvsa, NULL); // TBDTBD: &fRefresh: show dialog
- # endif
- return( TRUE );
- }
- inline VOID
- CInvokeInfoHelper::CallAdvancedLink (HWND hwndParent)
- {
- if ((ProviderData()) &&
- (ProviderData()->psPfns->psUIpfns) &&
- (ProviderData()->psPfns->psUIpfns->pfnOnAdvancedClick))
- {
- (*ProviderData()->psPfns->psUIpfns->pfnOnAdvancedClick)(hwndParent, ProviderData());
- }
- }
- inline VOID
- CInvokeInfoHelper::CallWebLink(HWND hwndParent, WCHAR *pszLink)
- {
- TUIGoLink(hwndParent, pszLink);
- }
- #endif