using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace DSTool
{
  static class NativeMethods
  {
    public enum OLECMDF
    {
      // Fields
      OLECMDF_DEFHIDEONCTXTMENU = 0x20,
      OLECMDF_ENABLED = 2,
      OLECMDF_INVISIBLE = 0x10,
      OLECMDF_LATCHED = 4,
      OLECMDF_NINCHED = 8,
      OLECMDF_SUPPORTED = 1
    }

    public enum OLECMDID
    {
      // Fields
      OLECMDID_PAGESETUP = 8,
      OLECMDID_PRINT = 6,
      OLECMDID_PRINTPREVIEW = 7,
      OLECMDID_PROPERTIES = 10,
      OLECMDID_SAVEAS = 4,
      // OLECMDID_SHOWSCRIPTERROR = 40
    }
    public enum OLECMDEXECOPT
    {
      // Fields
      OLECMDEXECOPT_DODEFAULT = 0,
      OLECMDEXECOPT_DONTPROMPTUSER = 2,
      OLECMDEXECOPT_PROMPTUSER = 1,
      OLECMDEXECOPT_SHOWHELP = 3
    }

    //[StructLayout(LayoutKind.Sequential)]
    //public class POINT
    //{
    //  public int x;
    //  public int y;
    //  public POINT() { }
    //  public POINT(int x, int y)
    //  {
    //    this.x = x;
    //    this.y = y;
    //  }
    //}

    //[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("B722BCCB-4E68-101B-A2BC-00AA00404770"), ComVisible(true)]
    //public interface IOleCommandTarget
    //{
    //  [return: MarshalAs(UnmanagedType.I4)]
    //  [PreserveSig]
    //  int QueryStatus(ref Guid pguidCmdGroup, int cCmds, [In, Out] NativeMethods.OLECMD prgCmds, [In, Out] IntPtr pCmdText);
    //  [return: MarshalAs(UnmanagedType.I4)]
    //  [PreserveSig]
    //  int Exec(ref Guid pguidCmdGroup, int nCmdID, int nCmdexecopt, [In, MarshalAs(UnmanagedType.LPArray)] object[] pvaIn, ref int pvaOut);
    //}

    //[StructLayout(LayoutKind.Sequential)]
    //public class OLECMD
    //{
    //  [MarshalAs(UnmanagedType.U4)]
    //  public int cmdID;
    //  [MarshalAs(UnmanagedType.U4)]
    //  public int cmdf;
    //  public OLECMD()
    //  {
    //  }
    //}

    //public const int S_FALSE = 1;
    //public const int S_OK = 0;

 
  }
}
