1 /****************************************************************************
3 * $Id: rmamon.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
7 * http://www.real.com/devzone
9 * This program contains proprietary
10 * information of Progressive Networks, Inc, and is licensed
11 * subject to restrictions on use and distribution.
14 * RealMedia Architecture Registry Interfaces.
21 typedef _INTERFACE IUnknown IUnknown
;
22 typedef _INTERFACE IRMAPlugin IRMAPlugin
;
23 typedef _INTERFACE IRMABuffer IRMABuffer
;
24 typedef _INTERFACE IRMAValues IRMAValues
;
25 typedef _INTERFACE IRMAPropWatch IRMAPropWatch
;
26 typedef _INTERFACE IRMAPropWatchResponse IRMAPropWatchResponse
;
27 typedef _INTERFACE IRMAActiveRegistry IRMAActiveRegistry
;
28 typedef _INTERFACE IRMAActivePropUser IRMAActivePropUser
;
29 typedef _INTERFACE IRMAActivePropUserResponse IRMAActivePropUserResponse
;
30 typedef _INTERFACE IRMAPNRegistryAltStringHandling IRMAPNRegistryAltStringHandling
;
33 * Types of the values stored in the registry.
35 typedef enum _RMAPropType
38 PT_COMPOSITE
, /* Contains other values (elements) */
39 PT_INTEGER
, /* 32-bit signed value */
40 PT_INTREF
, /* Integer reference object -- 32-bit signed integer */
41 PT_STRING
, /* Signed char* value */
42 PT_BUFFER
/* IRMABuffer object */
54 * This inteface provides access to the "Registry" in the server and
55 * client. The "Registry" is a hierarchical structure of Name/Value
56 * pairs (properties) which is capable of storing many different types
57 * of data including strings, buffers, and integers. The registry
58 * provides various types of information including statistics,
59 * configuration information, and system status.
61 * Note: This registry is not related to the Windows system registry.
65 * {00000600-0901-11d1-8B06-00A024406D59}
68 DEFINE_GUID(IID_IRMAPNRegistry
, 0x00000600, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
69 0xa0, 0x24, 0x40, 0x6d, 0x59);
71 #define CLSID_IRMAPNRegistry IID_IRMAPNRegistry
74 #define INTERFACE IRMAPNRegistry
76 DECLARE_INTERFACE_(IRMAPNRegistry
, IUnknown
)
81 STDMETHOD(QueryInterface
) (THIS_
85 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
87 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
90 * IRMAPNRegistry methods
93 /************************************************************************
95 * IRMAPNRegistry::CreatePropWatch
97 * Create a new IRMAPropWatch object which can then be queried for
98 * the right kind of IRMAPropWatch object.
100 * pPropWatch - OUT - returns a new addref'ed IRMAPropWatch object
102 STDMETHOD(CreatePropWatch
) (THIS_
103 REF(IRMAPropWatch
*) pPropWatch
) PURE
;
105 /************************************************************************
107 * IRMAPNRegistry::AddComp
109 * Add a COMPOSITE property to the registry and return its ID
110 * if successful. It returns ZERO (0) if an error occurred
111 * during the operation.
113 * pName - IN - name of the Property that is going to be added to
116 STDMETHOD_(UINT32
, AddComp
) (THIS_
117 const char* pName
) PURE
;
119 /************************************************************************
121 * IRMAPNRegistry::AddInt
123 * Add an INTEGER property with name in "pName" and value in
124 * "iValue" to the registry. The return value is the id to
125 * the newly added Property or ZERO if there was an error.
127 * pName - IN - name of the Property that is going to be added to
129 * nValue - IN - integer value of the Property that is going to be
130 * added to the registry
132 STDMETHOD_(UINT32
, AddInt
) (THIS_
134 const INT32 nValue
) PURE
;
136 /************************************************************************
138 * IRMAPNRegistry::GetIntByName
140 * Retreive an INTEGER value from the registry given its Property
141 * name "pName". If the Property is found, it will return PNR_OK,
142 * otherwise it returns PNR_FAIL.
144 * pName - IN - name of the Property whose value is to be retreived
145 * nValue - OUT - parameter into which the value of the Property is
146 * going to be returned
148 STDMETHOD(GetIntByName
) (THIS_
150 REF(INT32
) nValue
) const PURE
;
152 /************************************************************************
154 * IRMAPNRegistry::GetIntById
156 * Retreive an INTEGER value from the registry given its id "ulId".
157 * If the Property is found, it will return PNR_OK, otherwise it
160 * ulId - IN - unique id of the Property whose value is to be retreived
161 * nValue - OUT - parameter into which the value of the Property is
162 * going to be returned
164 STDMETHOD(GetIntById
) (THIS_
166 REF(INT32
) nValue
) const PURE
;
168 /************************************************************************
170 * IRMAPNRegistry::SetIntByName
172 * Modify a Property's INTEGER value in the registry given the
173 * Property's name "pName". If the value was set, it will return PNR_OK,
174 * otherwise it returns PNR_FAIL.
176 * pName - IN - name of the Property whose value is to be set
177 * nValue - IN - the new value of the Property which is going to be set
179 STDMETHOD(SetIntByName
) (THIS_
181 const INT32 nValue
) PURE
;
183 /************************************************************************
185 * IRMAPNRegistry::SetIntById
187 * Modify a Property's INTEGER value in the registry given the
188 * its id "id". If the value was set, it will return PNR_OK, otherwise
189 * it returns PNR_FAIL.
191 * ulId - IN - unique id of the Property whose value is to be set
192 * nValue - IN - the new value of the Property which is going to be set
194 STDMETHOD(SetIntById
) (THIS_
196 const INT32 nValue
) PURE
;
198 /************************************************************************
200 * IRMAPNRegistry::AddStr
202 * Add an STRING property with name in "pName" and value in
203 * "pValue" to the registry.
205 * pName - IN - name of the Property that is going to be added to
207 * pValue - IN - buffer value of the Property that is going to be
208 * added to the registry
210 STDMETHOD_(UINT32
, AddStr
) (THIS_
212 IRMABuffer
* pValue
) PURE
;
214 /************************************************************************
216 * IRMAPNRegistry::GetStrByName
218 * Retreive an STRING value from the registry given its Property
219 * name "pName". If the Property is found, it will return PNR_OK,
220 * otherwise it returns PNR_FAIL.
222 * pName - IN - name of the Property whose value is to be retreived
223 * pValue - OUT - parameter into which the value of the Property is
224 * going to be returned
226 STDMETHOD(GetStrByName
) (THIS_
228 REF(IRMABuffer
*) pValue
) const PURE
;
230 /************************************************************************
232 * IRMAPNRegistry::GetStrById
234 * Retreive an STRING value from the registry given its id "ulId".
235 * If the Property is found, it will return PNR_OK, otherwise it
238 * ulId - IN - unique id of the Property whose value is to be retreived
239 * pValue - OUT - parameter into which the value of the Property is
240 * going to be returned
242 STDMETHOD(GetStrById
) (THIS_
244 REF(IRMABuffer
*) pValue
) const PURE
;
246 /************************************************************************
248 * IRMAPNRegistry::SetStrByName
250 * Modify a Property's STRING value in the registry given the
251 * Property's name "pName". If the value was set, it will return
252 * PNR_OK, otherwise it returns PNR_FAIL.
254 * pName - IN - name of the Property whose value is to be set
255 * pValue - IN - the new value of the Property which is going to be set
257 STDMETHOD(SetStrByName
) (THIS_
259 IRMABuffer
* pValue
) PURE
;
261 /************************************************************************
263 * IRMAPNRegistry::SetStrById
265 * Modify a Property's STRING value in the registry given the
266 * its id "ulId". If the value was set, it will return PNR_OK,
267 * otherwise it returns PNR_FAIL.
269 * ulId - IN - unique id of the Property whose value is to be set
270 * pValue - IN - the new value of the Property which is going to be set
272 STDMETHOD(SetStrById
) (THIS_
274 IRMABuffer
* pValue
) PURE
;
276 /************************************************************************
278 * IRMAPNRegistry::AddBuf
280 * Add an BUFFER property with name in "pName" and value in
281 * "pValue" to the registry.
283 * pName - IN - name of the Property that is going to be added to
285 * pValue - IN - buffer value of the Property that is going to be
286 * added to the registry
288 STDMETHOD_(UINT32
, AddBuf
) (THIS_
290 IRMABuffer
* pValue
) PURE
;
292 /************************************************************************
294 * IRMAPNRegistry::GetBufByName
296 * Retreive the BUFFER from the registry given its Property name
297 * "pName". If the Property is found, it will return PNR_OK, otherwise
298 * it returns PNR_FAIL.
300 * pName - IN - name of the Property whose value is to be retreived
301 * pValue - OUT - parameter into which the value of the Property is
302 * going to be returned
304 STDMETHOD(GetBufByName
) (THIS_
306 REF(IRMABuffer
*) pValue
) const PURE
;
308 /************************************************************************
310 * IRMAPNRegistry::GetBufById
312 * Retreive the BUFFER from the registry given its id "ulId". If the
313 * Property is found, it will return PNR_OK, otherwise it returns
316 * ulId - IN - unique id of the Property whose value is to be retreived
317 * pValue - OUT - parameter into which the value of the Property is
318 * going to be returned
320 STDMETHOD(GetBufById
) (THIS_
322 REF(IRMABuffer
*) pValue
) const PURE
;
324 /************************************************************************
326 * IRMAPNRegistry::SetBufByName
328 * Modify a Property's BUFFER in the registry given the
329 * Property's name "pName". If the value was set, it will return
330 * PNR_OK, otherwise it returns PNR_FAIL.
332 * pName - IN - name of the Property whose value is to be set
333 * pValue - IN - the new value of the Property which is going to be set
335 STDMETHOD(SetBufByName
) (THIS_
337 IRMABuffer
* pValue
) PURE
;
339 /************************************************************************
341 * IRMAPNRegistry::SetBufById
343 * Modify a Property's BUFFER in the registry given its id "ulId".
344 * If the value was set, it will return PNR_OK, otherwise it returns
347 * ulId - IN - unique id of the Property whose value is to be set
348 * pValue - IN - the new value of the Property which is going to be set
350 STDMETHOD(SetBufById
) (THIS_
352 IRMABuffer
* pValue
) PURE
;
354 /************************************************************************
356 * IRMAPNRegistry::AddIntRef
358 * Add an INTEGER REFERENCE property with name in "pName" and
359 * value in "iValue" to the registry. This property allows the user
360 * to modify its contents directly, without having to go through the
363 * pName - IN - name of the Property that is going to be added to
365 * pValue - IN - the pointer of the integer value is what gets stored
366 * in the registry as the Interger Reference Property's
369 STDMETHOD_(UINT32
, AddIntRef
) (THIS_
373 /************************************************************************
375 * IRMAPNRegistry::DeleteByName
377 * Delete a Property from the registry using its name "pName".
379 * pName - IN - name of the Property that is going to be deleted
381 STDMETHOD_(UINT32
, DeleteByName
) (THIS_
382 const char* pName
) PURE
;
384 /************************************************************************
386 * IRMAPNRegistry::DeleteById
388 * Delete a Property from the registry using its id "ulId".
390 * ulId - IN - unique id of the Property that is going to be deleted
392 STDMETHOD_(UINT32
, DeleteById
) (THIS_
393 const UINT32 ulId
) PURE
;
395 /************************************************************************
397 * IRMAPNRegistry::GetTypeByName
399 * Returns the datatype of the Property given its name "pName".
401 * pName - IN - name of the Property whose type is to be retreived
403 STDMETHOD_(RMAPropType
, GetTypeByName
) (THIS_
404 const char* pName
) const PURE
;
406 /************************************************************************
408 * IRMAPNRegistry::GetTypeById
410 * Returns the datatype of the Property given its its id "ulId".
412 * ulId - IN - unique id of the Property whose type is to be retreived
414 STDMETHOD_(RMAPropType
, GetTypeById
) (THIS_
415 const UINT32 ulId
) const PURE
;
417 /************************************************************************
419 * IRMAPNRegistry::FindParentIdByName
421 * Returns the id value of the parent node of the Property whose
422 * name "pName" has been passed in. If it fails, a ZERO value is
425 * pName - IN - name of the Property whose parent's unique id is to be
428 STDMETHOD_(UINT32
, FindParentIdByName
) (THIS_
429 const char* pName
) const PURE
;
431 /************************************************************************
433 * IRMAPNRegistry::FindParentIdById
435 * Returns the id value of the parent node of the Property whose
436 * id "ulId" has been passed in. If it fails, a ZERO value is returned.
438 * ulId - IN - unique id of the Property whose parent's id is to be
441 STDMETHOD_(UINT32
, FindParentIdById
) (THIS_
442 const UINT32 ulId
) const PURE
;
444 /************************************************************************
446 * PNRegistry::GetPropName
448 * Returns the Property name in the pName char buffer passed
449 * as a parameter, given the Property's id "ulId".
451 * ulId - IN - unique id of the Property whose name is to be retreived
452 * pName - OUT - parameter into which the Property name is going to be
455 STDMETHOD(GetPropName
) (THIS_
457 REF(IRMABuffer
*) pName
) const PURE
;
459 /************************************************************************
463 * Returns the Property's id given the Property name.
465 * pName - IN - name of the Property whose unique id is to be
468 STDMETHOD_(UINT32
, GetId
) (THIS_
469 const char* pName
) const PURE
;
471 /************************************************************************
473 * IRMAPNRegistry::GetPropListOfRoot
475 * Returns an array of a Properties under the root level of the
476 * registry's hierarchy.
478 * pValues - OUT - list of property name and unique id at the
479 * highest level (root) in the registry
481 STDMETHOD(GetPropListOfRoot
) (THIS_
482 REF(IRMAValues
*) pValues
) const PURE
;
484 /************************************************************************
486 * IRMAPNRegistry::GetPropListByName
488 * Returns an array of Properties immediately under the one whose
489 * name is passed in "pName".
491 * pName - IN - name of the Property whose child property list is to be
493 * pValues - OUT - list of property name and unique id under the
494 * Property whose name is in "pName"
496 STDMETHOD(GetPropListByName
) (THIS_
498 REF(IRMAValues
*) pValues
) const PURE
;
500 /************************************************************************
502 * IRMAPNRegistry::GetPropListById
504 * Returns an array of Properties immediately under the one whose
505 * id is passed in "ulId".
507 * ulId - IN - unique id of the Property whose child property list is
509 * pValues - OUT - list of property name and unique id under the
510 * Property whose is is in "ulId"
512 STDMETHOD(GetPropListById
) (THIS_
514 REF(IRMAValues
*) pValues
) const PURE
;
516 /************************************************************************
518 * IRMAPNRegistry::GetNumPropsAtRoot
520 * Returns the number of Properties at the root of the registry.
522 STDMETHOD_(INT32
, GetNumPropsAtRoot
) (THIS
) const PURE
;
524 /************************************************************************
526 * IRMAPNRegistry::GetNumPropsByName
528 * Returns the count of the number of Properties under the one
529 * whose name is specified in "pName".
531 * pName - IN - name of the Property whose number of children is to be
534 STDMETHOD_(INT32
, GetNumPropsByName
) (THIS_
535 const char* pName
) const PURE
;
537 /************************************************************************
539 * IRMAPNRegistry::GetNumPropsById
541 * Returns the count of the number of Properties under the one
542 * whose unique id is specified in "ulId".
544 * ulId - IN - unique id of the Property whose number of children is
547 STDMETHOD_(INT32
, GetNumPropsById
) (THIS_
548 const UINT32 ulId
) const PURE
;
560 * This interface allows the user to watch properties so that when
561 * changes happen to the properties the plugins receive notification via
562 * the IRMAPropWatchResponse API.
566 * {00000601-0901-11d1-8B06-00A024406D59}
569 DEFINE_GUID(IID_IRMAPropWatch
, 0x00000601, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
570 0xa0, 0x24, 0x40, 0x6d, 0x59);
573 #define INTERFACE IRMAPropWatch
575 DECLARE_INTERFACE_(IRMAPropWatch
, IUnknown
)
580 STDMETHOD(QueryInterface
) (THIS_
584 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
586 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
589 * IRMAPropWatch methods
592 /************************************************************************
594 * IRMAPropWatch::Init
596 * Initialize with the response object so that the Watch
597 * notifications can be sent back to the respective plugins.
599 * pResponse - IN - pointer to the response object which gets used to
600 * initialize the IRMAPropWatch object. the response
601 * object gets AddRef'd in the Init method.
603 STDMETHOD(Init
) (THIS_
604 IRMAPropWatchResponse
* pResponse
) PURE
;
606 /************************************************************************
608 * IRMAPropWatch::SetWatchOnRoot
610 * The SetWatch method puts a watch at the highest level of
611 * the registry hierarchy. It notifies ONLY IF properties at THIS LEVEL
612 * get added/modified/deleted.
614 STDMETHOD_(UINT32
, SetWatchOnRoot
) (THIS
) PURE
;
616 /************************************************************************
618 * IRMAPropWatch::SetWatchByName
620 * Sets a watch-point on the Property whose name is passed in.
621 * In case the mentioned Property gets modified or deleted a
622 * notification of that will be sent to the object which set the
625 * pName - IN - name of Property on which a watch point is to be added
627 STDMETHOD_(UINT32
, SetWatchByName
) (THIS_
628 const char* pName
) PURE
;
630 /************************************************************************
632 * IRMAPropWatch::SetWatchById
634 * Sets a watch-point on the Property whose name is passed in.
635 * In case the mentioned Property gets modified or deleted a
636 * notification of that will be sent to the object which set the
639 * ulId - IN - unique id of Property on which a watch point is to be
642 STDMETHOD_(UINT32
, SetWatchById
) (THIS_
643 const UINT32 ulId
) PURE
;
645 /************************************************************************
647 * IRMAPropWatch::ClearWatchOnRoot
649 * It clears the watch on the root of the registry.
651 STDMETHOD(ClearWatchOnRoot
) (THIS
) PURE
;
653 /************************************************************************
655 * IRMAPropWatch::ClearWatchByName
657 * Clears a watch-point based on the Property's name.
659 * pName - IN - name of Property whose watch point is to be cleared
661 STDMETHOD(ClearWatchByName
) (THIS_
662 const char* pName
) PURE
;
664 /************************************************************************
666 * IRMAPropWatch::ClearWatchById
668 * Clears a watch-point based on the Property's id.
670 * ulId - IN - unique id of Property whose watch point is to be cleared
672 STDMETHOD(ClearWatchById
) (THIS_
673 const UINT32 ulId
) PURE
;
681 * IRMAPropWatchResponse
685 * Interface for notification of additions/modifications/deletions of
686 * properties in the registry which are being watched.
688 * IID_IRMAPropWatchResponse:
690 * {00000602-0901-11d1-8B06-00A024406D59}
693 DEFINE_GUID(IID_IRMAPropWatchResponse
, 0x00000602, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
694 0xa0, 0x24, 0x40, 0x6d, 0x59);
697 #define INTERFACE IRMAPropWatchResponse
699 DECLARE_INTERFACE_(IRMAPropWatchResponse
, IUnknown
)
704 STDMETHOD(QueryInterface
) (THIS_
708 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
710 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
713 * IRMAPropWatchResponse methods
716 /************************************************************************
718 * IRMAPropWatchResponse::AddedProp
720 * Gets called when a new Property gets added under the Property
721 * on which the Watch was set. It passes the id of the Property just
722 * added, its datatype and the id of its immediate parent COMPOSITE
725 STDMETHOD(AddedProp
) (THIS_
727 const RMAPropType propType
,
728 const UINT32 ulParentID
) PURE
;
730 /************************************************************************
732 * IRMAPropWatchResponse::ModifiedProp
734 * Gets called when a watched Property gets modified. It passes
735 * the id of the Property just modified, its datatype and the
736 * id of its immediate parent COMPOSITE property.
738 STDMETHOD(ModifiedProp
) (THIS_
740 const RMAPropType propType
,
741 const UINT32 ulParentID
) PURE
;
743 /************************************************************************
745 * IRMAPropWatchResponse::DeletedProp
747 * Gets called when a watched Property gets deleted. As can be
748 * seen, it returns the id of the Property just deleted and
749 * its immediate parent COMPOSITE property.
751 STDMETHOD(DeletedProp
) (THIS_
753 const UINT32 ulParentID
) PURE
;
764 * Interface to get IRMAActiveUser responsible for a particular property
767 * IID_IRMAActiveRegistry:
769 * {00000603-0901-11d1-8B06-00A024406D59}
772 DEFINE_GUID(IID_IRMAActiveRegistry
, 0x00000603, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
773 0xa0, 0x24, 0x40, 0x6d, 0x59);
776 #define INTERFACE IRMAActiveRegistry
778 DECLARE_INTERFACE_(IRMAActiveRegistry
, IUnknown
)
783 STDMETHOD(QueryInterface
) (THIS_
787 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
789 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
791 /************************************************************************
792 * IRMAActiveRegistry::SetAsActive
794 * Method to set prop pName to active and register pUser as
795 * the active prop user.
797 STDMETHOD(SetAsActive
) (THIS_
799 IRMAActivePropUser
* pUser
) PURE
;
801 /************************************************************************
802 * IRMAActiveRegistry::SetAsInactive
804 * Method to remove an IRMAActiveUser from Prop activation.
806 STDMETHOD(SetAsInactive
) (THIS_
808 IRMAActivePropUser
* pUser
) PURE
;
810 /************************************************************************
811 * IRMAActiveRegistry::IsActive
813 * Tells if prop pName has an active user that must be queried to
814 * change the value, or if it can just be set.
816 STDMETHOD_(BOOL
, IsActive
) (THIS_
817 const char* pName
) PURE
;
819 /************************************************************************
820 * IRMAActiveRegistry::SetActiveInt
822 * Async request to set int pName to ul.
824 STDMETHOD(SetActiveInt
) (THIS_
827 IRMAActivePropUserResponse
* pResponse
) PURE
;
829 /************************************************************************
830 * IRMAActiveRegistry::SetActiveStr
832 * Async request to set string pName to string in pBuffer.
834 STDMETHOD(SetActiveStr
) (THIS_
837 IRMAActivePropUserResponse
* pResponse
) PURE
;
839 /************************************************************************
840 * IRMAActiveRegistry::SetActiveBuf
842 * Async request to set buffer pName to buffer in pBuffer.
844 STDMETHOD(SetActiveBuf
) (THIS_
847 IRMAActivePropUserResponse
* pResponse
) PURE
;
849 /************************************************************************
850 * IRMAActiveRegistry::DeleteActiveProp
852 * Async request to delete the active property.
854 STDMETHOD(DeleteActiveProp
) (THIS_
856 IRMAActivePropUserResponse
* pResponse
) PURE
;
870 * An IRMAActivePropUser can be set as the active user of a property in
871 * an IRMAActiveRegistry. This causes the IRMAActivePropUser to be consulted
872 * everytime someone wants to change a property. The difference between this
873 * and a prop watch is that this is async, and can call a done method with
874 * failure to cause the prop to not be set, and this get called instead of
875 * calling into the IRMAPNReg.
877 * IID_IRMAActivePropUser:
879 * {00000604-0901-11d1-8B06-00A024406D59}
882 DEFINE_GUID(IID_IRMAActivePropUser
, 0x00000604, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
883 0xa0, 0x24, 0x40, 0x6d, 0x59);
886 #define INTERFACE IRMAActivePropUser
888 DECLARE_INTERFACE_(IRMAActivePropUser
, IUnknown
)
893 STDMETHOD(QueryInterface
) (THIS_
897 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
899 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
901 /************************************************************************
902 * IRMAActivePropUser::SetActiveInt
904 * Async request to set int pName to ul.
906 STDMETHOD(SetActiveInt
) (THIS_
909 IRMAActivePropUserResponse
* pResponse
) PURE
;
911 /************************************************************************
912 * IRMAActivePropUser::SetActiveStr
914 * Async request to set string pName to string in pBuffer.
916 STDMETHOD(SetActiveStr
) (THIS_
919 IRMAActivePropUserResponse
* pResponse
) PURE
;
921 /************************************************************************
922 * IRMAActivePropUser::SetActiveBuf
924 * Async request to set buffer pName to buffer in pBuffer.
926 STDMETHOD(SetActiveBuf
) (THIS_
929 IRMAActivePropUserResponse
* pResponse
) PURE
;
931 /************************************************************************
932 * IRMAActivePropUser::DeleteActiveProp
934 * Async request to delete the active property.
936 STDMETHOD(DeleteActiveProp
) (THIS_
938 IRMAActivePropUserResponse
* pResponse
) PURE
;
946 * IRMAActivePropUserResponse
950 * Gets responses from IRMAActivePropUser for queries to set properties
951 * in the IRMAActiveRegistry.
954 * IID_IRMAActivePropUserResponse:
956 * {00000605-0901-11d1-8B06-00A024406D59}
959 DEFINE_GUID(IID_IRMAActivePropUserResponse
, 0x00000605, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
960 0xa0, 0x24, 0x40, 0x6d, 0x59);
963 #define INTERFACE IRMAActivePropUserResponse
965 DECLARE_INTERFACE_(IRMAActivePropUserResponse
, IUnknown
)
970 STDMETHOD(QueryInterface
) (THIS_
974 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
976 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
978 /************************************************************************
979 * Called with status result on completion of set request.
981 STDMETHOD(SetActiveIntDone
) (THIS_
986 UINT32 ulNumInfo
) PURE
;
988 STDMETHOD(SetActiveStrDone
) (THIS_
993 UINT32 ulNumInfo
) PURE
;
995 STDMETHOD(SetActiveBufDone
) (THIS_
1000 UINT32 ulNumInfo
) PURE
;
1002 STDMETHOD(DeleteActivePropDone
) (THIS_
1005 IRMABuffer
* pInfo
[],
1006 UINT32 ulNumInfo
) PURE
;
1018 * Allows copying from one registry key to another.
1021 * IID_IRMACopyRegistry
1023 * {00000606-0901-11d1-8B06-00A024406D59}
1026 DEFINE_GUID(IID_IRMACopyRegistry
, 0x00000606, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
1027 0xa0, 0x24, 0x40, 0x6d, 0x59);
1030 #define INTERFACE IRMACopyRegistry
1032 DECLARE_INTERFACE_(IRMACopyRegistry
, IUnknown
)
1037 STDMETHOD(QueryInterface
) (THIS_
1039 void** ppvObj
) PURE
;
1041 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
1043 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
1045 /************************************************************************
1046 * IRMACopyRegistry::Copy
1048 * Here it is! The "Copy" method!
1050 STDMETHOD (CopyByName
) (THIS_
1052 const char* pTo
) PURE
;
1060 * IRMAPNRegistryAltStringHandling
1064 * Tells the registry about alternate handling of PT_STRING types.
1067 * IID_IRMAPNRegistryAltStringHandling
1069 * {00000607-0901-11d1-8B06-00A024406D59}
1072 DEFINE_GUID(IID_IRMAPNRegistryAltStringHandling
, 0x00000607, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
1073 0xa0, 0x24, 0x40, 0x6d, 0x59);
1076 #define INTERFACE IRMAPNRegistryAltStringHandling
1078 DECLARE_INTERFACE_(IRMAPNRegistryAltStringHandling
, IUnknown
)
1083 STDMETHOD(QueryInterface
) (THIS_
1085 void** ppvObj
) PURE
;
1087 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
1089 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
1091 /************************************************************************
1092 * IRMAPNRegistryAltStringHandling::SetStringAccessAsBufferById
1094 * For those times when you added a property as a buffer, but wish it
1095 * were a string (and of course, people now rely on the fact that it's
1096 * a buffer)... Create the property as a string and then pass this
1097 * method it's ID. The property will now be accessible/setable as a,
1098 * but it will still be a string!
1100 STDMETHOD (SetStringAccessAsBufferById
) (THIS_
1105 #endif /* _RMAMON_H_ */