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

📄 rmamon.pas

📁 Delphi源码REAlRMSDK.rar
💻 PAS
📖 第 1 页 / 共 3 页
字号:
     *  ulId - IN - unique id of the Property whose child property list is
     *              to be retreived
     *  pValues - OUT - list of property name and unique id under the
     *                  Property whose is is in "ulId"
     *)

    function GetPropListById(ulId: UINT32; out pValues: IRMAValues): HRESULT; stdcall;

    (************************************************************************
     *  Method:
     *      IRMAPNRegistry::GetNumPropsAtRoot
     *  Purpose:
     *      Returns the number of Properties at the root of the registry.
     *)

    function GetNumPropsAtRoot: INT32; stdcall;

    (************************************************************************
     *  Method:
     *      IRMAPNRegistry::GetNumPropsByName
     *  Purpose:
     *      Returns the count of the number of Properties under the one
     *  whose name is specified in "pName".
     *
     *  pName - IN - name of the Property whose number of children is to be
     *               retreived
     *)

    function GetNumPropsByName(pName: PChar): INT32; stdcall;

    (************************************************************************
     *  Method:
     *      IRMAPNRegistry::GetNumPropsById
     *  Purpose:
     *      Returns the count of the number of Properties under the one
     *  whose unique id is specified in "ulId".
     *
     *  ulId - IN - unique id of the Property whose number of children is
     *              to be retreived
     *)

    function GetNumPropsById(ulId: UINT32): INT32; stdcall;
    
  end;
  {$EXTERNALSYM IRMAPNRegistry}

(*
 *
 *  Interface:
 *
 *	IRMAActivePropUserResponse
 *
 *  Purpose:
 *
 *	Gets responses from IRMAActivePropUser for queries to set properties
 *  in the IRMAActiveRegistry.
 *
 *
 *  IID_IRMAActivePropUserResponse:
 *
 *	{00000605-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAActivePropUserResponse: TGUID = '{00000605-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAActivePropUserResponse}

type
  IRMAActivePropUserResponse = interface (IUnknown)
  ['{00000605-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
    * Called with status result on completion of set request.
    *)

    function SetActiveIntDone(res: PN_RESULT; pName: PChar; ul: UINT32;
      pInfo: PIRMABuffer; ulNumInfo: UINT32): HRESULT; stdcall;

    function SetActiveStrDone(res: PN_RESULT; pName: PChar; pBuffer: IRMABuffer;
      pInfo: PIRMABuffer; ulNumInfo: UINT32): HRESULT; stdcall;

    function SetActiveBufDone(res: PN_RESULT; pName: PChar; pBuffer: IRMABuffer;
      pInfo: PIRMABuffer; ulNumInfo: UINT32): HRESULT; stdcall;

    function DeleteActivePropDone(res: PN_RESULT; pName: PChar; pInfo: PIRMABuffer;
      ulNumInfo: UINT32): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAActivePropUserResponse}

(*
 *
 *  Interface:
 *
 *	IRMAActivePropUser
 *
 *  Purpose:
 *
 *	An IRMAActivePropUser can be set as the active user of a property in
 *  an IRMAActiveRegistry. This causes the IRMAActivePropUser to be consulted
 *  everytime someone wants to change a property. The difference between this
 *  and a prop watch is that this is async, and can call a done method with
 *  failure to cause the prop to not be set, and this get called instead of
 *  calling into the IRMAPNReg.
 *
 *  IID_IRMAActivePropUser:
 *
 *	{00000604-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAActivePropUser: TGUID = '{00000604-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAActivePropUser}

type
  IRMAActivePropUser = interface (IUnknown)
  ['{00000604-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
    * IRMAActivePropUser::SetActiveInt
    *
    *    Async request to set int pName to ul.
    *)

    function SetActiveInt(pName: PChar; ul: UINT32; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActivePropUser::SetActiveStr
    *
    *    Async request to set string pName to string in pBuffer.
    *)

    function SetActiveStr(pName: PChar; pBuffer: IRMABuffer; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActivePropUser::SetActiveBuf
    *
    *    Async request to set buffer pName to buffer in pBuffer.
    *)

    function SetActiveBuf(pName: PChar; pBuffer: IRMABuffer; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActivePropUser::DeleteActiveProp
    *
    *	Async request to delete the active property.
    *)

    function DeleteActiveProp(pName: PChar; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAActivePropUser}

(*
 *
 *  Interface:
 *
 *	IRMAActiveRegistry
 *
 *  Purpose:
 *
 *	Interface to get IRMAActiveUser responsible for a particular property
 *  from the registry.
 *
 *  IID_IRMAActiveRegistry:
 *
 *	{00000603-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAActiveRegistry: TGUID = '{00000603-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAActiveRegistry}

type
  IRMAActiveRegistry = interface (IUnknown)
  ['{00000603-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
    * IRMAActiveRegistry::SetAsActive
    *
    *     Method to set prop pName to active and register pUser as
    *   the active prop user.
    *)

    function SetAsActive(pName: PChar; pUser: IRMAActivePropUser): HRESULT; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::SetAsInactive
    *
    *	Method to remove an IRMAActiveUser from Prop activation.
    *)

    function SetAsInactive(pName: PChar; pUser: IRMAActivePropUser): HRESULT; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::IsActive
    *
    *     Tells if prop pName has an active user that must be queried to
    *   change the value, or if it can just be set.
    *)

    function IsActive(pName: PChar): BOOL; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::SetActiveInt
    *
    *    Async request to set int pName to ul.
    *)

    function SetActiveInt(pName: PChar; ul: UINT32; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::SetActiveStr
    *
    *    Async request to set string pName to string in pBuffer.
    *)

    function SetActiveStr(pName: PChar; pBuffer: IRMABuffer; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::SetActiveBuf
    *
    *    Async request to set buffer pName to buffer in pBuffer.
    *)

    function SetActiveBuf(pName: PChar; pBuffer: IRMABuffer; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

    (************************************************************************
    * IRMAActiveRegistry::DeleteActiveProp
    *
    *	Async request to delete the active property.
    *)

    function DeleteActiveProp(pName: PChar; pResponse: IRMAActivePropUserResponse): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAActiveRegistry}

(*
 *
 *  Interface:
 *
 *	IRMACopyRegistry
 *
 *  Purpose:
 *
 *	Allows copying from one registry key to another.
 *
 *
 *  IID_IRMACopyRegistry
 *
 *	{00000606-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMACopyRegistry: TGUID = '{00000606-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMACopyRegistry}

type
  IRMACopyRegistry = interface (IUnknown)
  ['{00000606-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
    * IRMACopyRegistry::Copy
    *
    *   Here it is! The "Copy" method!
    *)

    function CopyByName(pFrom, pTo: PChar): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMACopyRegistry}

(*
 *
 *  Interface:
 *
 *	IRMAPNRegistryAltStringHandling
 *
 *  Purpose:
 *
 *	Tells the registry about alternate handling of PT_STRING types.
 *
 *
 *  IID_IRMAPNRegistryAltStringHandling
 *
 *	{00000607-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAPNRegistryAltStringHandling: TGUID = '{00000607-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAPNRegistryAltStringHandling}

type
  IRMAPNRegistryAltStringHandling = interface (IUnknown)
  ['{00000607-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
    * IRMAPNRegistryAltStringHandling::SetStringAccessAsBufferById
    *
    *   For those times when you added a property as a buffer, but wish it
    *   were a string (and of course, people now rely on the fact that it's
    *   a buffer)...  Create the property as a string and then pass this
    *   method it's ID.  The property will now be accessible/setable as a,
    *   but it will still be a string!
    *)

    function SetStringAccessAsBufferById(ulId: UINT32): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAPNRegistryAltStringHandling}

implementation

end.

⌨️ 快捷键说明

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