NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Sample 2

NGWS Runtime Metadata COM Type library
namespace AnimalLib {
   Interface IAnimal
   {
      void Eat();
      void Sleep():
   }

   class Mammal : IAnimal
   {
      void  Eat();
      void  Breathe():
      void  Sleep();
   }
}
[uuid(0000…0000), version(1.0)] 
library AnimalLib
{
   [uuid(0000…0000)]
   interface IAnimal : IUnknown
   {
      [id(0x60020000)] HRESULT Eat();
      [id(0x60020001)] HRESULT Sleep[out, retval] long* p1):
   }

   [odl, uuid(0000…0000), hidden, dual, nonextensible, oleautomation]
   interface _Mammal : IDispatch
   {
      [id(0x00000000), propget] HRESULT ToString([out, retval] BSTR* pRetVal);
      [id(0x60020001)] HRESULT Equals([in] VARIANT obj, [out, retval] VARIANT_BOOL* pRetVal);
      [id(0x60020002)] HRESULT GetHashCode([out, retval] long* pRetVal);
      [id(0x60020003)] HRESULT GetType([out, retval] _Type** pRetVal);
      [id(0x6002000d)] HRESULT Eat();
      [id(0x6002000e)] HRESULT Breathe([out, retval] long* p1):
      [id(0x6002000f)] HRESULT Sleep([out, retval] double* p1);
   }

   [uuid(0000…0000)]
   coclass Mammal 
   {
      [default] interface _Mammal;
      interface _Object;
      interface IAnimal;
   }
}