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
{
}
}