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.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows NT Security
// Copyright (C) Microsoft Corporation, 1992 - 1999
//
// File: acui.cpp
//
// Contents: Entry point for the Authenticode UI Provider
//
// History: 08-May-97 kirtd Created
//
//----------------------------------------------------------------------------
#include <stdpch.h>
//+---------------------------------------------------------------------------
//
// Function: ACUIProviderInvokeUI
//
// Synopsis: Authenticode UI invokation entry point (see acui.h)
//
// Arguments: [pInvokeInfo] -- ACUI invoke information
//
// Returns: S_OK if the subject is trusted
// TRUST_E_SUBJECT_NOT_TRUSTED if the subject is not trusted
// Any other valid HRESULT
//
// Notes:
//
//----------------------------------------------------------------------------
HRESULT WINAPI ACUIProviderInvokeUI (PACUI_INVOKE_INFO pInvokeInfo) { HRESULT hr; HWND hDisplay;
//
// Initialize rich edit control DLL
//
if ( LoadLibrary(TEXT("riched32.dll")) == NULL ) { return( E_FAIL ); }
//
// Validate the invoke info structure
//
if (!(pInvokeInfo) || !(WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(ACUI_INVOKE_INFO, pInvokeInfo->cbSize, pPersonalTrustDB))) { return( E_INVALIDARG ); }
//
// Pull out the display window handle and make sure it's valid
//
hDisplay = pInvokeInfo->hDisplay; if ( hDisplay == NULL ) { if ( (hDisplay = GetDesktopWindow()) == NULL ) { return( HRESULT_FROM_WIN32(GetLastError()) ); } }
//
// Instantiate an invoke helper
//
CInvokeInfoHelper iih(pInvokeInfo, hr); IACUIControl* pUI = NULL;
if ( hr != S_OK ) { return( hr ); }
//
// Get the UI control and invoke the UI
//
hr = iih.GetUIControl(&pUI); if ( hr == S_OK ) { hr = pUI->InvokeUI(hDisplay); iih.ReleaseUIControl(pUI); }
return( hr ); }
|