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.
 
 
 
 
 
 

71 lines
2.1 KiB

/////////////////////////////////////////////////////////////////////////////
// Copyright © 2001 Microsoft Corporation. All rights reserved.
// PragmaUnsafeModule.h : Declaration of the CPragmaUnsafeModule class.
//
#pragma once
#include "resource.h"
#include <IPREfastModuleImpl.h>
/////////////////////////////////////////////////////////////////////////////
// {5686D66D-BE0D-43DA-B315-64B85BAFB790}
extern "C" const __declspec(selectany) GUID CLSID_PragmaUnsafeModule =
{0x5686D66D,0xBE0D,0x43DA,{0xB3,0x15,0x64,0xB8,0x5B,0xAF,0xB7,0x90}};
/////////////////////////////////////////////////////////////////////////////
// Declaration of CPragmaUnsafeModule
//
class ATL_NO_VTABLE CPragmaUnsafeModule :
public IPREfastModuleImpl<CPragmaUnsafeModule>,
public CComObjectRootEx<CComObjectThreadModel>,
public CComCoClass<CPragmaUnsafeModule, &CLSID_PragmaUnsafeModule>
{
// Declarations
public:
DECLARE_REGISTRY_RESOURCEID(IDR_PragmaUnsafeModule)
DECLARE_PROTECT_FINAL_CONSTRUCT()
DECLARE_PREFAST_MODULE_ID(8888);
// Interface Map
public:
BEGIN_COM_MAP(CPragmaUnsafeModule)
COM_INTERFACE_ENTRIES_IPREfastModuleImpl()
END_COM_MAP()
// Category Map
public:
BEGIN_CATEGORY_MAP(CPragmaUnsafeModule)
IMPLEMENTED_CATEGORY(CATID_PREfastDefectModules)
END_CATEGORY_MAP()
// Implementation
protected:
// Analysis member functions.
void CheckNode(ITree* pNode, DWORD level);
void CheckNodeAndDescendants(ITree* pNode, DWORD level);
// IPREfastModule Interface Methods
public:
STDMETHODIMP raw_Events(AstEvents *Events);
STDMETHODIMP raw_OnFileStart(ICompilationUnit* pcu);
STDMETHODIMP raw_OnDeclaration(ICompilationUnit* pcu);
STDMETHODIMP raw_OnFunction(ICompilationUnit* pcu);
STDMETHODIMP raw_OnFileEnd(ICompilationUnit* pcu);
STDMETHODIMP raw_OnDirective(ICompilationUnit* pcu);
// Data Members
protected:
// The pointer to the function being analyzed.
ITreePtr m_spCurrFunction;
// Warning Codes
public:
// Include defect description information
#include <DefectDefs.h>
};
/////////////////////////////////////////////////////////////////////////////