private void DisplayPropertyPage(IntPtr parentWindow, object sourceObject)
{
try
{
// retrieve ISpecifyPropertyPages interface of the device
ISpecifyPropertyPages pPropPages = (ISpecifyPropertyPages)sourceObject;
// get property pages from the property bag
CAUUID caGUID;
pPropPages.GetPages(out caGUID);
// get filter info
FilterInfo filterInfo = new FilterInfo(deviceMoniker);
// create and display the OlePropertyFrame
Win32.OleCreatePropertyFrame(parentWindow, 0, 0, filterInfo.Name, 1, ref sourceObject, caGUID.cElems, caGUID.pElems, 0, 0, IntPtr.Zero);
// release COM objects
Marshal.FreeCoTaskMem(caGUID.pElems);
}
catch
{
}
}