📄 rmamon.pas
字号:
* 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 + -