Microsoft Internet Security and Acceleration Server 2000

Limiting the Property Sheet Display

The property sheet should display only on the relevant application filter; in this case, on the SMTP application filter.

To limit the property sheet display

  1. Select a unique attribute name for the application filter; for example, its GUID.
  2. Add the directory of the file msfpccom.dll (SDK installation root\bin) to the include path.
  3. In Stdafx.h add the following #import statement:
    #import "msfpccom.dll" named_guids 
    

    The #import directive is used to incorporate information from a type library. The content of the type library is converted into C++ classes, mostly describing the COM interfaces.

  4. In SmtpFilterSnapIn.cpp, add the code that is in bold font in the following sample to this method:
    HRESULT CSMTPFltrSnapInExtData::CreatePropertyPages(LPPROPERTYSHEETCALLBACK lpProvider,
    	long handle, 
    	IUnknown* pUnk,
    	DATA_OBJECT_TYPES type)
    {
    	FPCLib::IFPCSnapinNodePtr spiFPCSnapinNode(m_pDataObject);
     
    	FPCLib::IFPCApplicationFilterPtr spiApplicationFilter(spiFPCSnapinNode->CurrentObject);
    
    	_bstr_t bstrGUID(spiApplicationFilter->GetGuid());
     
    	// if (type == CCT_SCOPE || type == CCT_RESULT) 
        if (bstrGUID == _bstr_t("{179A0A70-1EF5-11D3-B160-00A0C9E3F998}"))  // Smtp Filter GUID
    	{
    				CSmtpFltrSnapInPage* pPage = new CSmtpFltrSnapInPage(handle, true, _T("SmtpFltrSnapIn"));lpProvider->AddPage(pPage->Create());
    		// The second parameter to the property page class constructor
    		// should be true for only one page.
     
    		// TODO : Add code here to add additional pages
    		return S_OK;
    }
    	return E_UNEXPECTED;
    }
    
  5. Build.
  6. Test. Run ISA Management. Notice that the property sheet appears only on the SMTP application filter.