Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The property sheet should display only on the relevant application filter.
To limit the property sheet display
Select a unique name for the application filter; for example, its GUID.
Add the folder containing the file Msfpccom.dll (<SDK installation root>\bin) to the include path.
In Stdafx.h add the following #import statement:
#import "msfpccom.dll" named_guidsThe #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.
In the .cpp file where your snap-in is defined, add the if statement in the following example code to the method that creates property pages and change the GUID to the GUID of your application filter:
HRESULT CFilterSnapInExtData::CreatePropertyPages(LPPROPERTYSHEETCALLBACK lpProvider, long handle, IUnknown* pUnk, DATA_OBJECT_TYPES type) { FPCLib::IFPCSnapinNodePtr spiSnapinNode(m_pDataObject); FPCLib::IFPCApplicationFilterPtr spiApplicationFilter(spiSnapinNode->CurrentObject); _bstr_t bstrGUID(spiApplicationFilter->get_Guid()); // if (type == CCT_SCOPE || type == CCT_RESULT) if (bstrGUID == _bstr_t("{7CCF6FF0-D995-4da1-B452-4228047B2D1D}")) // Filter GUID { CFilterSnapInPage* pPage = new CFilterSnapInPage(handle, true, _T("FilterSnapIn")); 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; }Build.
Test. Run Forefront TMG Management. Notice that the property sheet appears only on the appropriate filter.
Build date: 7/12/2010