using System.Collections;
namespace System.Diagnostics {
- [DefaultEvent ("Exited"), DefaultProperty ("StartInfo"), DesignerCategory ("Component")]
- #if (NET_1_0)
- [Designer ("System.Diagnostics.Design.ProcessDesigner, System.Design, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof (IDesigner))]
- #endif
- #if (NET_1_1)
- [Designer ("System.Diagnostics.Design.ProcessDesigner, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof (IDesigner))]
- #endif
+ [DefaultEvent ("Exited"), DefaultProperty ("StartInfo")]
+ [Designer ("System.Diagnostics.Design.ProcessDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]
public class Process : Component
{
[StructLayout(LayoutKind.Sequential)]
{
public IntPtr process_handle;
public IntPtr thread_handle;
- public int pid;
+ public int pid; // Contains -GetLastError () on failure.
public int tid;
};
}
[MonoTODO]
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden), Browsable (false)]
+ [DefaultValue (null), Browsable (false)]
[MonitoringDescription ("The object that is used to synchronize event handler calls for this process.")]
public ISynchronizeInvoke SynchronizingObject {
get {
if (startInfo.RedirectStandardError == true)
MonoIO.Close (stderr_wr, out error);
- throw new Win32Exception ();
+ throw new Win32Exception (-proc_info.pid);
}
process.process_handle=proc_info.process_handle;