⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmawin.pas

📁 Delphi源码REAlRMSDK.rar
💻 PAS
📖 第 1 页 / 共 2 页
字号:

const
  IID_IRMASiteUserSupplier: TGUID = '{00000D06-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMASiteUserSupplier}

type
  IRMASiteUserSupplier = interface (IUnknown)
  ['{00000D06-0901-11d1-8B06-00A024406D59}']

    //
    // IRMASiteUserSupplier methods usually called by the
    // "context" to ask for additional or to release previously
    // created site users.
    //

    function CreateSiteUser(out pSiteUser: IRMASiteUser): HRESULT; stdcall;

    function DestroySiteUser(pSiteUser: IRMASiteUser): HRESULT; stdcall;

    function NeedsWindowedSites: BOOL; stdcall;

  end;
  {$EXTERNALSYM IRMASiteUserSupplier}

//***************************************************************************
//
//  Interface:
//
//	IRMASiteSupplier
//
//  Purpose:
//
//	Interface implemented by users of the client core. This interface is
//	called by the core when it needs a new IRMASite, or when it is done
//	using an IRMASite.
//
//  IID_IRMASiteSupplier:
//
//	{00000D07-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMASiteSupplier: TGUID = '{00000D07-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMASiteSupplier}

type
  IRMASiteSupplier = interface (IUnknown)
  ['{00000D07-0901-11d1-8B06-00A024406D59}']

    //***********************************************************************
    //	Method:
    //	    IRMASiteSupplier::SitesNeeded
    //	Purpose:
    //	  Called to inform the site supplier that a site with a particular
    //	  set of characteristics is needed. If the site supplier can
    //	  fulfill the request it should call the site manager and add one
    //	  or more new sites.
    //    Note that the request for sites is associated with a Request ID
    //    the client core will inform the site supplier when this requested
    //    site is no longer needed.
    //

    function SitesNeeded(uReqestID: UINT32; pSiteProps: IRMAValues): HRESULT; stdcall;

    //***********************************************************************
    //  Method:
    //    IRMASiteSupplier::SitesNotNeeded
    //  Purpose:
    //    Called to inform the site supplier that all sites from a previos
    //	  site request are no longer needed. If the site supplier had
    //	  previously created non-persistant sites (like popup windows)
    //    to fulfill a request for sites it should call the site manager
    //    and remove those sites.
    //

    function SitesNotNeeded(uReqestID: UINT32): HRESULT; stdcall;

    //***********************************************************************
    //  Method:
    //    IRMASiteSupplier::BeginChangeLayout
    //  Purpose:
    //    Called to inform the site supplier a layout change has beginning
    //	  it can expect to recieve SitesNeeded() and SitesNotNeeded() calls
    //	  while a layout change is in progress,
    //

    function BeginChangeLayout: HRESULT; stdcall;

    //***********************************************************************
    //  Method:
    //    IRMASiteSupplier::DoneChangeLayout
    //  Purpose:
    //    Called to inform the site supplier the layout change has been
    //	  completed.
    //

    function DoneChangeLayout: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMASiteSupplier}

//***************************************************************************
//
//  Interface:
//
//	IRMASiteManager
//
//  Purpose:
//
//	Interface implemented by the client core. This interface is called
//	by users of the client core to inform it of IRMASite's which are
//	available for layout of renderers
//
//  IID_IRMASiteManager:
//
//	{00000D08-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMASiteManager: TGUID = '{00000D08-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMASiteManager}

type
  IRMASiteManager = interface (IUnknown)
  ['{00000D08-0901-11d1-8B06-00A024406D59}']

    //***********************************************************************
    //	Method:
    //	    IRMASiteManager::AddSite
    //	Purpose:
    //	  Called to inform the site manager of the existance of a site.
    //

    function AddSite(pSite: IRMASite): HRESULT; stdcall;

    //***********************************************************************
    //	Method:
    //	    IRMASiteManager::RemoveSite
    //	Purpose:
    //	  Called to inform the site manager that a site is no longer
    //	  available.
    //

    function RemoveSite(pSite: IRMASite): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMASiteManager}

//***************************************************************************
//
//  Interface:
//
//	IRMAMultiInstanceSiteUserSupplier
//
//  Purpose:
//
//	This is the interface for a special default object which is available
//	from the common class factory. This object will act as a site user
//	supplier for any renderer (or other site user object) that wants
//	default support for multiple instances. The site user must work as
//	a windowless site for this default implementation to work. The
//	default object also implements the IRMASite interfave to allow
//	the site user object to control all the sites through a single
//	interface instance.
//
//  IID_IRMAMultiInstanceSiteUserSupplier:
//
//	{00000D09-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAMultiInstanceSiteUserSupplier: TGUID = '{00000D09-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAMultiInstanceSiteUserSupplier}

  CLSID_IRMAMultiInstanceSiteUserSupplier: TGUID = '{00000D09-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAMultiInstanceSiteUserSupplier}

type
  IRMAMultiInstanceSiteUserSupplier = interface (IUnknown)
  ['{00000D09-0901-11d1-8B06-00A024406D59}']

    //
    // IRMAMultiInstanceSiteUserSupplier methods called by site users.
    //

    function SetSingleSiteUser(pUnknown: IUnknown): HRESULT; stdcall;

    function ReleaseSingleSiteUser: HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAMultiInstanceSiteUserSupplier}

//***************************************************************************
//
//  Interface:
//	IRMASiteFullScreen
//
//  Purpose:
//
//	This is the interface for turning on/off the full screen mode
//
//  IID_IRMASiteFullScreen:
//
//	{00000D0B-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMASiteFullScreen: TGUID = '{00000D0B-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMASiteFullScreen}

type
  IRMASiteFullScreen = interface (IUnknown)
  ['{00000D0B-0901-11d1-8B06-00A024406D59}']

    function EnterFullScreen: HRESULT; stdcall;

    function ExitFullScreen: HRESULT; stdcall;

    function TestFullScreen(hTestBitmap: Pointer; pszStatusText: PChar): HRESULT; stdcall;

    function IsFullScreen: BOOL; stdcall;

  end;
  {$EXTERNALSYM IRMASiteFullScreen}

//***************************************************************************
//
//  Interface:
//	IRMAEventHook
//
//  Purpose:
//
//	Object that gets hooked events sent by IRMAEventHookMgr
//
//  IID_IRMAEventHookMgr:
//
//	{00000D0E-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAEventHook: TGUID = '{00000D0E-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAEventHook}

type
  IRMAEventHook = interface (IUnknown)
  ['{00000D0E-0901-11d1-8B06-00A024406D59}']

    function SiteAdded(pSite: IRMASite): HRESULT; stdcall;
    function HandleEvent(pSite: IRMASite; const pEvent: PNxEvent): HRESULT; stdcall;
    function SiteRemoved(pSite: IRMASite): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAEventHook}
  
//***************************************************************************
//
//  Interface:
//	IRMAEventHookMgr
//
//  Purpose:
//
//	Add ability to hook events from a named region
//
//  IID_IRMAEventHookMgr:
//
//	{00000D0D-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAEventHookMgr: TGUID = '{00000D0D-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAEventHookMgr}

type
  IRMAEventHookMgr = interface (IUnknown)
  ['{00000D0D-0901-11d1-8B06-00A024406D59}']

    function AddHook(pHook: IRMAEventHook; pRegionName: PChar; uLayer: UINT16): HRESULT; stdcall;

    function RemoveHook(pHook: IRMAEventHook; pRegionName: PChar; uLayer: UINT16): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAEventHookMgr}

//***************************************************************************
//
//  Interface:
//	IRMAStatusMessage
//
//  Purpose:
//
//	This is the interface for setting the status text.
//
//  IID_IRMAStatusMessage:
//
//	{00000D10-0901-11d1-8B06-00A024406D59}
//
//

const
  IID_IRMAStatusMessage: TGUID = '{00000D10-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAStatusMessage}

type
  IRMAStatusMessage = interface (IUnknown)
  ['{00000D10-0901-11d1-8B06-00A024406D59}']

    function SetStatus(pText: PChar): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAStatusMessage}

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -