Purpose: | Informs the renderer of site size and position changes |
Implemented by: | Display renderer |
Used by: | Site object (Client core) |
Header file: | rmawin.h |
A display rendering plug-in implements this interface to monitor and, if necessary, override changes in a site window's size or position. It attaches itself as a watcher with IRMASite::AttachWatcher
. The site then informs the renderer of size and position changes through IRMASiteWatcher
. The renderer can override these changes with IRMASite
methods.
![]() |
Additional Information |
---|
See "Watching a Site". |
The IRMASiteWatcher
interface contains the following methods:
IRMASiteWatcher::AttachSite
IRMASiteWatcher::ChangingPosition
IRMASiteWatcher::ChangingSize
IRMASiteWatcher::DetachSite
As with all COM interfaces, the IRMASiteWatcher
interface inherits the following IUnknown
methods:
Attaches a site interface to this site watcher interface.
STDMETHOD(AttachSite) (
THIS_
IRMASite* pSite
) PURE;
IRMASite
interface that is to be attached.
Indicates an attempt is being made to change the site's position. The site watcher must return PNR_OK
for the change to occur. If the site watcher returns any value other than PNR_OK
, the position does not change. The site watcher can also modify the new position.
STDMETHOD(ChangingPosition) (
THIS_
PNxPoint posOld,
REF(PNxPoint) posNew
) PURE;
PNxPoint
structure that indicates the previous postion of the site.
PNxPoint
structure that indicates the new position.
Indicates an attempt is being made to change the site's size. The site watcher must return PNR_OK
for the change to occur. If the site watcher returns any value other than PNR_OK
, the size does not change. The site watcher can also modify the new size.
STDMETHOD(ChangingSize) (
THIS_
PNxSize sizeOld,
REF(PNxSize) sizeNew
) PURE;
PNxSize
structure that indicates the previous size of the site.
PNxSize
structure that indicates the new size.
Detaches the site interface that was previously attached to this site watcher.
STDMETHOD(DetachSite) (
THIS
) PURE;
Purpose: | Controls windowed site rendering |
Implemented by: | Windowed site object (Client core) |
Used by: | Display renderer |
Header file: | rmawin.h |
A display rendering plug-in uses this interface along with IRMASite
if it responds with TRUE
to IRMASiteUser::NeedsWindowedSites
. The IRMASiteWindowed
interface provides operating system-specific methods for manipulating sites.
The IRMASiteWindowed
interface contains the following methods:
IRMASiteWindowed::AttachWindow
IRMASiteWindowed::Create
IRMASiteWindowed::Destroy
IRMASiteWindowed::DetachWindow
IRMASiteWindowed::GetWindow
As with all COM interfaces, the IRMASiteWindowed
interface inherits the following IUnknown
methods:
Associates a previously created, and externally managed, window with the site. In Windows, this method will "sub-class" that window. On Unix, the site supplier must pass events from the externally managed window to the core using IRMAClientEngine::EventOccurred
. Note that the pointer to the PNxWindow
structure must remain in scope for the life of the site, that is, the pointer must not be a stack variable.
STDMETHOD(AttachWindow) (
THIS_
PNxWindow* pWindow
) PURE;
Pointer to a PNxWindow
structure that contains the window information.
Creates a default, top-level window for the site.
STDMETHOD(Create) (
THIS_
void* ParentWindow,
UINT32 style
) PURE;
Destroys the previously created top-level window for the site.
STDMETHOD(Destroy) (
THIS
) PURE;
Detaches a previously-attached window from the site.
STDMETHOD(DetachWindow) (
THIS
) PURE;
Returns the actual window of the site in the indicated PNxWindow
structure.
STDMETHOD_(PNxWindow*,GetWindow) (
THIS
) PURE;
Purpose: | Controls windowless site rendering |
Implemented by: | Windowless site object (Client core) |
Used by: | Display renderer |
Header file: | rmawin.h |
A display rendering plug-in uses this interface along with IRMASite
if it responds with FALSE
to IRMASiteUser::NeedsWindowedSites
. The IRMASiteWindowless
interface provides OS-generic methods for manipulating sites.
The IRMASiteWindowless
inteface contains the following methods:
As with all COM interfaces, the IRMASiteWindowless
interface inherits the following IUnknown
methods:
Indicates that a native operating system event occurred.
STDMETHOD(EventOccurred) (
THIS_
PNxEvent* pEvent
) PURE;
PNxEvent
structure that describes the event.
Returns a parent window that owns the windowless site in the indicated PNxWindow
structure. This method is useful for right-click menus and dialog box calls.
STDMETHOD_(PNxWindow*,GetParentWindow) (
THIS
) PURE;
Purpose: | Information not yet available at publication. |
Implemented by: | Live source |
Used by: | Server's live packet sink plug-in |
Header file: | rmasrc.h |
This interface allows a sink interface to search for a raw packet source.
The IRMASourceFinderObject
interface contains the following methods:
As with all COM interfaces, the IRMASourceFinderObject
interface inherits the following IUnknown
methods:
Information not yet available at publication.
STDMETHOD(Done) (
THIS
) PURE;
Searches for the requested live stream source.
STDMETHOD(Find) (
THIS_
IRMARequest* pRequest
) PURE;
IRMARequest
interface that manages the source information.
Information not yet available at publication.
STDMETHOD(Init) (
THIS_
IUnknown* pUnknown
) PURE;
Purpose: | Returns a raw packet source to a sink |
Implemented by: | Server's live packet sink plug-in |
Used by: | Live source |
Header file: | rmasrc.h |
This interface notifies the plug-in when the live source that it was requested to find has been located. The IRMASourceFinderObject
interface then locates the live source and calls back to this interface when the find operation is complete.
The IRMASourceFinderResponse
interface contains the following methods:
As with all COM interfaces, the IRMASourceFinderResponse
interface inherits the following IUnknown
methods:
Indicates the source finder has finished searching for the requested live stream source.
STDMETHOD(FindDone) (
THIS_
PN_RESULT status,
IUnknown* pUnknown
) PURE;
IRMASourceFinderObject::Find
operation. A value of PNR_OK
indicates the operation has completed successfully.
Indicates the status of the source finder interface intialization.
STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
IRMASourceFinderObject::Init
operation. A value of PNR_OK
indicates the operation has completed successfully.
Purpose: | Directs the client core to update registry statistics for a specified object |
Implemented by: | Client core |
Used by: | top-level client |
Header file: | rmacomm.h |
Through this interface, the top-level client directs the client core to update registry statistics for an object. The top-level client uses IRMARegistryID
to get the object's registry ID. It then uses IRMAStatistics
to pass this ID to the client core and tell the client to update the statistics.
The IRMAStatistics interface
contains the following methods:
As with all COM interfaces, the IRMAStatistics
interface inherits the following IUnknown
methods:
Passes the registry ID of the statistics to the caller.
STDMETHOD(InitializeStatistics) (
THIS_
UINT32 ulRegistryID
) PURE;
Notifies the client to update its statistics stored in the registry.
STDMETHOD(UpdateStatistics) (
THIS
) PURE;
Purpose: | Sets the status text |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmawin.h |
The IRMAStatusMessage
interface contains the IRMAStatusMessage::SetStatus
method.
As with all COM interfaces, the IRMAStatusMessage
interface inherits the following IUnknown
methods:
STDMETHOD(SetStatus) (
THIS_
const char* pText
) PURE;
Purpose: | Provides information about a stream; provides feedback to RealSystem on the quality of service. |
Implemented by: | Stream object (RealSystem architecture) |
Used by: | Rendering plug-ins and RealSystem Client |
Header file: | rmacore.h |
This interface to a stream object lets a rendering plug-in or the client gather information about a stream, such as its stream number and MIME type. The interface also lets the renderer give RealSystem feedback on the quality of service, informing it of the effect of lost packets on the presentation.
![]() |
Additional Information |
---|
See "Chapter 6: Rendering Plug-In". |
The IRMAStream
interface contains the following methods:
IRMAStream::GetHeader
IRMAStream::GetRenderer
IRMAStream::GetRendererCount
IRMAStream::GetSource
IRMAStream::GetStreamNumber
IRMAStream::GetStreamType
IRMAStream::ReportQualityOfService
IRMAStream::ReportRebufferStatus
IRMAStream::SetGranularity
As with all COM interfaces, the IRMAStream
interface inherits the following IUnknown
methods:
Returns the header for this stream using the indicated IRMAValues
interface.
STDMETHOD_(IRMAValues*,GetHeader) (
THIS
) PURE;
Returns the indicated renderer instance (IRMARenderer
) supported by this stream.
STDMETHOD(GetRenderer) (
THIS_
UINT16 nIndex,
REF(IUnknown*) pUnknown
) PURE;
Returns the current number of renderer instances supported by this stream instance.
STDMETHOD_(UINT16, GetRendererCount) (
THIS
) PURE;
Gets the interface to the stream source of which this stream is a part.
STDMETHOD(GetSource) (
THIS_
REF(IRMAStreamSource*) pSource
) PURE;
IRMAStreamSource
interface that manages the stream source.
Returns the stream number for this stream relative to the IRMAStreamSource
interface of which the stream is a part.
STDMETHOD_(UINT16,GetStreamNumber) (
THIS
) PURE;
Gets the MIME type for this stream.
STDMETHOD_(const char*,GetStreamType) (
THIS
) PURE;
![]() |
Note |
---|
The returned string is assumed to be valid for the life of the IRMAStream
from which it was returned.
|
Reports to the playback context that the quality of service for this stream has changed. Although the transport engine can determine lost packets and report these through the user interface, only the renderer of this stream can determine the "real" perceived damage associated with this loss.
STDMETHOD(ReportQualityOfService) (
THIS_
UINT8 unQuality
) PURE;
Reports to the playback context that the available data has dropped to a critically low level, and that rebuffering should occur. The renderer should call back into this interface as it receives additional data packets to indicate the status of its rebuffering effort.
The values of unNeeded
and unAvailable
indicate the general status of the rebuffering effort. For example, if a renderer has "run dry" and needs five data packets to play smoothly again, it should call this method with unNeeded
set to 5 and unAvailable
set to 0. Then, as packets arrive, the renderer should call again with 5,1, then 5,2, and eventually 5,5.
STDMETHOD(ReportRebufferStatus) (
THIS_
UINT8 unNeeded,
UINT8 unAvailable
) PURE;
Sets the required granularity for this stream. The actual granularity will be the lowest granularity of all streams. Although it is valid to call this method before the stream actually begins, it is best to call this method during IRMARenderer::OnHeader
.
STDMETHOD(SetGranularity) (
THIS_
ULONG32 ulGranularity
) PURE;
Purpose: | Provides information about a stream source |
Implemented by: | Stream source object (RealSystem architecture) |
Used by: | Rendering plug-ins and RealSystem Client |
Header file: | rmacore.h |
This interface to a stream source object lets a rendering plug-in or the client gather information about the stream source, such as its URL and the number of streams it supports. A component can get this interface through IRMAStream::GetSource
.
![]() |
Additional Information |
---|
See "Chapter 6: Rendering Plug-In". |
The IRMAStreamSource
interface contains the following methods:
IRMAStreamSource::GetPlayer
IRMAStreamSource::GetStream
IRMAStreamSource::GetStreamCount
IRMAStreamSource::GetURL
IRMAStreamSource::IsLive
As with all COM interfaces, the IRMAStreamSource
interface inherits the following IUnknown
methods:
Gets the interface to the player of which the source is a part.
STDMETHOD(GetPlayer) (
THIS_
REF(IRMAPlayer*) pPlayer
) PURE;
IRMAPlayer
interface.
Returns the indicated stream instance supported by this source.
STDMETHOD(GetStream) (
THIS_
UINT16 nIndex,
REF(IUnknown*) pUnknown
) PURE;
Returns the current number of stream instances supported by this source instance.
STDMETHOD_(UINT16, GetStreamCount) (
THIS
) PURE;
Returns a pointer to the requested URL for the stream source. The returned string is assumed to be valid for the life of the IRMAStreamSource
from which it was returned.
STDMETHOD_(const char*,GetURL) (
THIS
) PURE;
Determines whether the stream source is live. Returns TRUE
if the stream source is live.
STDMETHOD_ (BOOL,IsLive) (
THIS
) PURE;
Purpose: | Returns the status of TCP network operations |
Implemented by: | Any component |
Used by: | TCP socket object (Network Services) |
Header file: | rmaengin.h |
After a component creates a TCP socket object with IRMANetworkServices
, it uses IRMATCPSocket
to read from and write to that socket. The TCP socket object then uses IRMATCPResponse
to notify the component of the success or failure of these operations, as well as pass it pointers to IRMABuffer
objects of read data.
![]() |
Additional Information |
---|
See "Using a TCP Socket". See also IRMAListenResponse and
IRMAUDPResponse .
|
The IRMATCPResponse
interface contains the following methods:
IRMATCPResponse::Closed
IRMATCPResponse::ConnectDone
IRMATCPResponse::ReadDone
IRMATCPResponse::WriteReady
As with all COM interfaces, the IRMATCPResponse
interface inherits the following IUnknown
methods:
Informs you that the TCP channel has been closed by the peer or closed due to error.
STDMETHOD(Closed) (
THIS_
PN_RESULT status
) PURE;
PNR_OK
indicates the operation was closed successfully by the peer.
Indicates the IRMATCPSocket::Connect
operation has completed.
STDMETHOD(ConnectDone) (
THIS_
PN_RESULT status
) PURE;
IRMATCPSocket::Connect
operation. A value of PNR_OK
indicates the operation has completed successfully.
Indicates the IRMATCPSocket::Read
operation has completed.
STDMETHOD(ReadDone) (
THIS_
PN_RESULT status,
IRMABuffer* pBuffer
) PURE;
IRMATCPSocket::Read
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the data returned from the read operation.
Indicates the IRMATCPSocket::WantWrite
operation has completed.
STDMETHOD(WriteReady) (
THIS_
PN_RESULT status
) PURE;
IRMATCPSocket::WantWrite
operation. A value of PNR_OK
indicates the operation has completed successfully and that you can now write to the TCP channel.
Purpose: | Performs TCP network operations |
Implemented by: | TCP socket object (Network Services) |
Used by: | Any component |
Header file: | rmaengin.h |
Any component that needs to use a TCP socket for network communications can use this interface. The component first creates a TCP socket object with IRMANetworkServices
. It then uses this interface to perform read and write operations. The TCP socket object notifies the component about the success or failure of operations through IRMATCPResponse
.
![]() |
Additional Information |
---|
See "Using a TCP Socket". See also IRMAListenSocket and IRMAUDPSocket .
|
The IRMATCPSocket
interface contains the following methods:
IRMATCPSocket::Bind
IRMATCPSocket::Connect
IRMATCPSocket::GetForeignAddress
IRMATCPSocket::GetForeignPort
IRMATCPSocket::GetLocalAddress
IRMATCPSocket::GetLocalPort
IRMATCPSocket::Init
IRMATCPSocket::Read
IRMATCPSocket::SetResponse
IRMATCPSocket::WantWrite
IRMATCPSocket::Write
As with all COM interfaces, the IRMATCPSocket
interface inherits the following IUnknown
methods:
Binds the TCP socket to a local address and port. This method specifies the port and address in native byte order.
STDMETHOD(Bind) (
THIS_
UINT32 ulLocalAddr,
UINT16 nPort
) PURE;
Connects to the specified address.
STDMETHOD(Connect) (
THIS_
const char* pDestination,
UINT16 nPort
) PURE;
www.myserver.com
or an IP address in the form nnn.nnn.nnn.nnn
.
Retrieves the address of the other end of the TCP socket.
STDMETHOD(GetForeignAddress) (
THIS_
REF(ULONG32) lAddress
) PURE;
Retrieves the port of the other end of the TCP socket.
STDMETHOD(GetForeignPort) (
THIS_
REF(UINT16) port
) PURE;
STDMETHOD(GetLocalAddress) (
THIS_
REF(ULONG32) lAddress
) PURE;
STDMETHOD(GetLocalPort) (
THIS_
REF(UINT16) port
) PURE;
Initializes the TCP socket and identifies the response interface.
STDMETHOD(Init) (
THIS_
IRMATCPResponse* pTCPResponse
) PURE;
IRMATCPResponse
interface that manages the responses to various IRMATCPSocket
methods.
Reads the specified number of bytes from the TCP source.
STDMETHOD(Read) (
THIS_
UINT16 Size
) PURE;
Identifies the response interface. This method is used if the calling component has inherited an existing, initialized TCP socket.
STDMETHOD(SetResponse) (
THIS_
IRMATCPResponse* pTCPResponse
) PURE;
IRMATCPResponse
interface that manages reponses to various IRMATCPSocket
methods.
Indicates that the component wants to write a large amount of data (more that 500K, approximately) to the TCP socket. When the TCP channel is ready to be written to, the IRMATCPResponse::WriteReady
method is called.
If you are only writing small amounts of data, you can just call IRMATCPSocket::Write
(all the data not ready to be transmitted is buffered on your behalf).
STDMETHOD(WantWrite) (
THIS
) PURE;
Writes data to the TCP socket.
STDMETHOD(Write) (
THIS_
IRMABuffer* pBuffer
) PURE;
IRMABuffer
interface that manages the data to be written.
Purpose: | Information not yet available at publication. |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmaencod.h |
The IRMATransportControl
interface contains the IRMATransportControl::SetTransportType
method.
As with all COM interfaces, the IRMATransportControl
interface inherits the following IUnknown
methods:
STDMETHOD(SetTransportType) (
const char* pTransportType
) PURE;
Purpose: | Sets the TTL for outgoing multicast UDP packets |
Implemented by: | Client core |
Used by: | plug-ins |
Header file: | rmaengin.h |
Plug-ins using IRMAUDPSocket
that must send multicast data would use IRMAUDPMulticastInit
.
The IRMAUDPMulticastInit
interface contains the IRMAUDPMulticastInit::InitMulticast
method.
As with all COM interfaces, the IRMAUDPMulticastInit
interface inherits the following IUnknown
methods:
Sets the TTL (time to live) for the UDP socket so it can be used as a multicast socket.
STDMETHOD(InitMulticast) (
THIS_
UINT8 chTTL
) PURE;
Purpose: | Returns the status of UDP network operations |
Implemented by: | Any component |
Used by: | UDP socket object (Network Services) |
Header file: | rmaengin.h |
After a component creates a UDP socket object with IRMANetworkServices
, it uses IRMAUDPSocket
to read from and write to that socket. The UDP socket object then uses IRMAUDPResponse
to notify the component of the success or failure of these operations.
![]() |
Additional Information |
---|
See "Using a UDP Socket". See also IRMATCPResponse .
|
The IRMAUDPResponse
interface contains the IRMAUDPResponse::ReadDone
method.
As with all COM interfaces, the IRMAUDPResponse
interface inherits the following IUnknown
methods:
Indicates the IRMAUDPSocket::Read
method has completed.
STDMETHOD(ReadDone) (
THIS_
PN_RESULT status,
IRMABuffer* pBuffer,
ULONG32 ulAddr,
UINT16 nPort
) PURE;
IRMAUDPSocket::Read
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the data that was read.
Purpose: | Performs UDP network operations |
Implemented by: | UDP socket object (Network Services) |
Used by: | Any component |
Header file: | rmaengin.h |
Any component that needs to use a UDP socket for network communications can use this interface. The component first creates a UDP socket object with IRMANetworkServices
. It then uses IRMAUDPSocket
to perform read and write operations. The UDP socket object notifies the component about the success or failure of operations through IRMAUDPResponse
.
![]() |
Additional Information |
---|
See "Using a UDP Socket". See also IRMATCPSocket .
|
The IRMAUDPSocket
interface contains the following methods:
IRMAUDPSocket::Bind
IRMAUDPSocket::GetLocalPort
IRMAUDPSocket::Init
IRMAUDPSocket::JoinMulticastGroup
IRMAUDPSocket::LeaveMulticastGroup
IRMAUDPSocket::Read
IRMAUDPSocket::Write
IRMAUDPSocket::WriteTo
As with all COM interfaces, the IRMAUDPSocket
interface inherits the following IUnknown
methods:
Binds the UDP socket to a local address and port.
STDMETHOD(Bind) (
THIS_
UINT32 ulLocalAddr,
UINT16 nPort
) PURE;
STDMETHOD(GetLocalPort) (
THIS_
REF(UINT16) port
) PURE;
Initializes the UDP socket and identifies the response interface.
STDMETHOD(Init) (
THIS_
ULONG32 ulAddr,
UINT16 nPort,
IRMAUDPResponse* pUDPResponse
) PURE;
IRMAUDPResponse
interace that manages responses to various IRMAUDPSocket
methods.
Connects through RealSystem's UDP multicast.
STDMETHOD(JoinMulticastGroup) (
THIS_
ULONG32 ulMulticastAddr,
ULONG32 ulInterfaceAddr
) PURE;
Leaves RealSystem's UDP multicast.
STDMETHOD(LeaveMulticastGroup) (
THIS_
ULONG32 ulMulticastAddr,
ULONG32 ulInterfaceAddr
) PURE;
Reads a specified number of bytes from the UDP source.
STDMETHOD(Read) (
THIS_
UINT16 Size
) PURE;
Writes data to the UDP socket.
STDMETHOD(Write) (
THIS_
IRMABuffer* pBuffer
) PURE;
IRMABuffer
interface that manages the data to write to the UDP socket.
Writes data to the specified UDP socket.
STDMETHOD(WriteTo) (
THIS_
ULONG32 ulAddr,
UINT16 nPort,
IRMABuffer* pBuffer
) PURE;
IRMABuffer
interface that manages the data to write to the specified UDP socket.
Purpose: | Allows collection of upgrade components |
Implemented by: | Top-level client |
Used by: | Client core and its delegates (renderer plug-ins, and so on) |
Header file: | rmaupgrd.h |
The IRMAUpgradeCollection
interface contains the following methods:
IRMAUpgradeCollection::Add
IRMAUpgradeCollection::GetAt
IRMAUpgradeCollection::GetCount
IRMAUpgradeCollection::Remove
IRMAUpgradeCollection::RemoveAll
As with all COM interfaces, the IRMAUpgradeCollection
interface inherits the following IUnknown
methods:
Adds the specified upgrade information to the collection.
STDMETHOD_(UINT32, Add) (
THIS_
RMAUpgradeType upgradeType,
IRMABuffer* pPluginId,
UINT32 majorVersion,
UINT32 minorVersion
) PURE;
RMAUpgradeType
enumerator that specifies the type of upgrade. The type can be required, recommended, or optional.
IRMABuffer
interface that manages the plug-in's ID.
Retrieves the specified item's upgrade information.
STDMETHOD(GetAt) (
THIS_
UINT32 index,
REF(RMAUpgradeType) upgradeType,
IRMABuffer* pPluginId,
REF(UINT32) majorVersion,
REF(UINT32) minorVersion
) PURE;
IRMABuffer
interface that manages the plug-in's ID.
Gets the count of the collection.
STDMETHOD_(UINT32, GetCount) (
THIS
) PURE;
Remove the specified item from the collection.
STDMETHOD(Remove) (
THIS_
UINT32 index
) PURE;
Removes all items from the collection.
STDMETHOD(RemoveAll) (
THIS
) PURE;
Purpose: | Provides access to upgrade components |
Implemented by: | Top-level client |
Used by: | Client core and its delegates (renderer plug-ins, and so on) |
Header file: | rmaupgrd.h |
The IRMAUpgradeHandler
interface contains the following methods:
As with all COM interfaces, the IRMAUpgradeHandler
interface inherits the following IUnknown
methods:
Checks if required components are present on the system.
STDMETHOD(HasComponents) (
THIS_
IRMAUpgradeCollection* pComponents
) PURE;
IRMAUpgradeCollection
interface that manages the required upgrade components. If this method returns PNR_OK
, all the components are already available, and no components are required. If this method returns PNR_FAILED
, some components are missing and this interface contains only those components that need to be upgraded.
Asks if the user wants to do an upgrade and, if so, starts the upgrade.
STDMETHOD(RequestUpgrade) (
THIS_
IRMAUpgradeCollection* pComponents,
BOOL bBlocking
) PURE;
IRMAUpgradeCollection
interface that manages the components that need to be upgraded.
Purpose: | Provides access to information about the currently-authenticated user |
Implemented by: | User context> |
Used by: | Information not yet available at publication. |
Header file: | rmaauthn.h |
The IRMAUserContext
interface contains the IRMAUserContext::IsMemberOf
method.
As with all COM interfaces, the IRMAUserContext
interface inherits the following IUnknown
methods:
Determines whether the authenticated user is a member of the specified group.
STDMETHOD(IsMemberOf) (
THIS_
IRMABuffer* pBufferGroupID
) PURE;
IRMABuffer
interface that manages the group ID.
Purpose: | Lets the server impersonate the currently-authenticated user |
Implemented by: | User context |
Used by: | Server |
Header file: | rmaauthn.h |
The IRMAUserImpersonation
interface contains the following methods:
As with all COM interfaces, the IRMAUserImpersonation
interface inherits the following IUnknown
methods:
Begins impersonating the authenticated user.
STDMETHOD(Start) (
THIS
) PURE;
Stops impersonating the authenticated user.
STDMETHOD(Stop) (
THIS
) PURE;
Purpose: | Provides access to properties of the currently-authenticated user |
Implemented by: | User context |
Used by: | Information not yet available at publication. |
Header file: | rmaauthn.h |
The IRMAUserProperties
interface contains the following methods:
As with all COM interfaces, the IRMAUserProperties
interface inherits the following IUnknown
methods:
Determines who authorized the authenticated user (the realm, domain name, or other).
STDMETHOD(GetAuthorityName) (
THIS_
REF(IRMABuffer*) pBufferAuthorityName
) PURE;
IRMABuffer
interface that manages the name of the authorizer of the currently-authenticated user.
Determine the principal ID of the authenticated user.
STDMETHOD(GetPrincipalID) (
THIS_
REF(IRMABuffer*) pBufferPrincipalID
) PURE;
IRMABuffer
interface that manages the principal ID.
Purpose: | Stores name/value pairs |
Implemented by: | Values object (RealSystem architecture) |
Used by: | Any component |
Header file: | rmapckts.h |
Like IRMABuffer
, the IRMAValues
interface is widely used in RealSystem. It lets RealSystem components store general lists that pair names with values, and is commonly used to hold stream initialization information. Each value in an IRMAValues
name/value pair is an unsigned long, a pointer to a buffer of arbitrary data, or a pointer to a buffer of null-terminated C-string data. The preferred implementation is to use IRMACommonClassFactory
to create the values object.
![]() |
Additional Information |
---|
See "Using IRMAValues to Create Indexed Lists". |
The IRMAValues
interface contains the following methods:
IRMAValues::GetFirstPropertyBuffer
IRMAValues::GetFirstPropertyCString
IRMAValues::GetFirstPropertyULONG32
IRMAValues::GetNextPropertyBuffer
IRMAValues::GetNextPropertyCString
IRMAValues::GetNextPropertyULONG32
IRMAValues::GetPropertyBuffer
IRMAValues::GetPropertyCString
IRMAValues::GetPropertyULONG32
IRMAValues::SetPropertyBuffer
IRMAValues::SetPropertyCString
IRMAValues::SetPropertyULONG32
As with all COM interfaces, the IRMAValues
interface inherits the following IUnknown
methods:
Retrieves the first buffer property name and value in an existing list of names and values.
STDMETHOD(GetFirstPropertyBuffer) (
THIS_
REF(const char*) pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the buffer value at the beginning of the list.
Retrieves the first CString property name and value in an existing list of names and values.
STDMETHOD(GetFirstPropertyCString) (
THIS_
REF(const char*) pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the CString value at the beginning of the list.
Retrieves the first 32-bit unsigned long property name and value in an existing list of names and values.
STDMETHOD(GetFirstPropertyULONG32) (
THIS_
REF(const char*) pPropertyName,
REF(ULONG32) uPropertyValue
) PURE;
Retrieves the next buffer property name and value in an existing list of names and values.
STDMETHOD(GetNextPropertyBuffer) (
THIS_
REF(const char*) pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the next buffer value in the list.
Retrieves the next CString property name and value in an existing list of names and values.
STDMETHOD(GetNextPropertyCString) (
THIS_
REF(const char*) pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the next CString value in the list.
Retrieves the next 32-bit unsigned long property name and value in an existing list of names and values.
STDMETHOD(GetNextPropertyULONG32) (
THIS_
REF(const char*) pPropertyName,
REF(ULONG32) uPropertyValue
) PURE;
Retrieves the buffer value specified by the given property name.
STDMETHOD(GetPropertyBuffer) (
THIS_
const char* pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the buffer value.
Retrieves the CString value specified by the given property name.
STDMETHOD(GetPropertyCString) (
THIS_
const char* pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
IRMABuffer
interface that manages the CString value.
Retrieves the 32-bit unsigned long value specified by the given property name.
STDMETHOD(GetPropertyULONG32) (
THIS_
const char* pPropertyName,
REF(ULONG32) uPropertyName
) PURE;
Sets a value in a named buffer.
STDMETHOD(SetPropertyBuffer) (
THIS_
const char* pPropertyName,
IRMABuffer* pPropertyValue
) PURE;
IRMABuffer
interface that manages this property value.
Sets a value in a named CString.
STDMETHOD(SetPropertyCString) (
THIS_
const char* pPropertyName,
IRMABuffer* pPropertyValue
) PURE;
IRMABuffer
interface that manages this property value.
Sets a value in a named 32-bit unsigned long.
STDMETHOD(SetPropertyULONG32) (
THIS_
const char* pPropertyName,
ULONG32 uPropertyValue
) PURE;
Purpose: | Removes name/value pairs |
Implemented by: | Values object (RealSystem architecture) |
Used by: | Any component |
Header file: | rmapckts.h |
The IRMAValuesRemove
interface augments the IRMAValues
interface. A class that supports the IRMAValues
interface should also support IRMAValuesRemove
if the class is to allow users to remove values from the collection.
The IRMAValuesRemove
interface contains the following methods:
IRMAValuesRemove::Remove
IRMAValuesRemove::RemoveBuffer
IRMAValuesRemove::RemoveCString
IRMAValuesRemove::ULONG32
As with all COM interfaces, the IRMAValuesRemove
interface inherits the following IUnknown
methods:
Removes all items matching the item you specify. Use this method if you are uncertain of the datatype. If you know what datatype the item was saved as, use the specific method.
STDMETHOD(Remove) (
const char* pKey
) PURE;
Removes all buffer items that you specify.
STDMETHOD(RemoveBuffer) (
const char* pKey
) PURE;
Removes all CString items that you specify.
STDMETHOD(RemoveCString) (
const char* pKey
) PURE;
Removes all ULONG32 items that you specify.
STDMETHOD(RemoveULONG32) (
const char* pKey
) PURE;
Purpose: | Provides cross-platform image rendering for RealSystem clients. |
Implemented by: | Client core |
Used by: | Rendering plug-ins |
Header file: | rmavsurf.h |
This interface manages platform-specific rendering details. When you provide the image data, this interface does the rest.
The IRMAVideoSurface
interface contains the following methods:
IRMAVideoSurface::BeginOptimizedBlt
IRMAVideoSurface::Blt
IRMAVideoSurface::EndOptimizedBlt
IRMAVideoSurface::GetOptimizedFormat
IRMAVideoSurface::GetPreferredFormat
IRMAVideoSurface::OptimizedBlt
As with all COM interfaces, the IRMAVideoSurface
interface inherits the following IUnknown
methods:
Sets the drawing format, such as the size, compression type, and so on, for all future calls to IRMAVideoSurface::OptimizedBlt
.
STDMETHOD(BeginOptimizedBlt) (
THIS_
RMABitmapInfoHeader* pBitmapInfo
) PURE;
RMABitmapInfoHeader
structure that contains the drawing format.
Performs a blit from the source rectangle to the destination rectangle.
![]() |
Note |
---|
You can also use IRMAVideoSurface::BeginOptimizedBlt and
IRMAVideoSurface::OptimizedBlt to blit to the surface without reloading
the RMABitmapInfoHeader structure for each blit.
|
STDMETHOD(Blt) (
THIS_
UCHAR* pImageBits,
RMABitmapInfoHeader* pBitmapInfo,
REF(PNxRect) rDestRect,
REF(PNxRect) rSrcRect
) PURE;
RMABitmapInfoHeader
structure that contains the drawing format.
PNxRect
structure that describes the destination rectangle.
PNxRect
structure that describes the source rectangle.
Allows the video surface to clean up after all optimized blit calls have been made.
STDMETHOD(EndOptimizedBlt) (
THIS
) PURE;
Inquires about the compression type the renderer committed to when it called IRMAVideoSurface::BeginOptimizedBlt
.
STDMETHOD(GetOptimizedFormat) (
THIS_
REF(RMA_COMPRESSION_TYPE) ulType
) PURE;
Inquires about the compression type the video surface would prefer to be given in IRMAVideoSurface::BeginOptimizedBlt
.
STDMETHOD(GetPreferredFormat) (
THIS_
REF(RMA_COMPRESSION_TYPE) ulType
) PURE;
Draws to the video surface in the format previously specified by calling IRMAVideoSurface::BeginOptimizedBlt
.
STDMETHOD(OptimizedBlt) (
THIS_
UCHAR* pImageBits,
REF(PNxRect) rDestRect,
REF(PNxRect) rSrcRect
) PURE;
PNxRect
structure that describes the destination rectangle.
PNxRect
structure that describes the source rectangle.
Purpose: | Provides access to view source functionality. |
Implemented by: | Client core |
Used by: | Top-level client |
Header file: | rmavsrc.h |
The top-level client queries an IRMAPlayer
for IRMAViewSourceCommand
whenever it needs to take advantage of view source functionality. The top-level client first inquires to see if a particular stream supports ViewSource, then the top-level client can actually request for the source to be viewed on that stream. These streams default to NULL. For the default case, the IRMAViewSourceCommand
interface decides which stream to use for view source. If there is a persistent stream (SMIL), it is viewed; otherwise the first stream in the player is viewed. The response interface is IRMAViewSourceURLResponse
.
The IRMAViewSourceCommand
interface contains the following methods
IRMAViewSourceCommand::CanViewSource
IRMAViewSourceCommand::DoViewSource
IRMAViewSourceCommand::GetViewSourceURL
As with all COM interfaces, the IRMAViewSourceCommand
interface inherits the following IUnknown
methods:
Determines if a specified stream supports ViewSource. Returns TRUE
if the stream does support ViewSource.
STDMETHOD_(BOOL, CanViewSource) (
THIS_
IRMAStreamSource* pStream
) PURE;
IRMAStreamSource
interface that manages the particular stream being queried for its support of ViewSource.
Requests a source be viewed on the specified stream.
STDMETHOD(DoViewSource) (
THIS_
IRMAStreamSource* pStream
) PURE;
IRMAStreamSource
interface that manages the stream on which the source is to be viewed.
Requests the URL of the source to be viewed.
STDMETHOD(GetViewSourceURL) (
THIS_
IRMAStreamSource* pSource,
IRMAViewSourceURLResponse* pResp
) PURE;
IRMAStreamSource
interface that manages the stream on which the source is to be viewed.
IRMAViewSourceURLResponse
interface that manages the response to this method.
Purpose: | Provides the URL for the source to be viewed |
Implemented by: | Top-level client |
Used by: | Client core |
Header file: | rmavsrc.h |
This is the response interface for the IRMAViewSourceCommand
interface.
The IRMAViewSourceURLResponse
interface contains the IRMAViewSourceURLResponse::ViewSourceURLReady
method.
As with all COM interfaces, the IRMAViewSourceURLResponse
interface inherits the following IUnknown
methods:
Provides the URL of the source to be viewed.
STDMETHOD(ViewSourceURLReady) (
THIS_
const char* pUrl
) PURE;
Purpose: | Controls audio volume |
Implemented by: | Audio stream objects, audio device object (Audio Services) |
Used by: | Audio rendering plug-ins |
Header file: | rmaausvc.h |
Through this interface, an audio rendering plug-in can query, set, and mute audio volume, as well as register to receive volume change notifications through IRMAVolumeAdviseSink
. The plug-in gets a pointer to the volume object for an individual stream through IRMAAudioStream
. It gets a pointer to the volume object for the final mixed stream or the audio device object from IRMAAudioPlayer
.
![]() |
Additional Information |
---|
See "Controlling Volume". |
The IRMAVolume
interface contains the following methods:
IRMAVolume::AddAdviseSink
IRMAVolume::GetMute
IRMAVolume::GetVolume
IRMAVolume::RemoveAdviseSink
IRMAVolume::SetMute
IRMAVolume::SetVolume
As with all COM interfaces, the IRMAVolume
interface inherits the following IUnknown
methods:
Associates a volume advise sink interface with this interface.
STDMETHOD(AddAdviseSink) (
THIS_
IRMAVolumeAdviseSink* pSink
) PURE;
IRMAVolumeAdviseSink
interface that advises the calling component of changes in volume and muting.
Determines if the volume is muted. Returns TRUE
if the volume is muted.
STDMETHOD_(BOOL,GetMute) (
THIS
) PURE;
Returns the current volume level.
STDMETHOD_(UINT16,GetVolume) (
THIS
) PURE;
Removes a previously-associated volume advise sink interface. Use this method when you no longer need to receive volume or mute change notifications.
STDMETHOD(RemoveAdviseSink) (
THIS_
IRMAVolumeAdviseSink* pSink
) PURE;
IRMAVolumeAdviseSink
interface to be removed.
STDMETHOD(SetMute) (
THIS_
const BOOL bMute
) PURE;
TRUE
, the volume is muted.
STDMETHOD(SetVolume) (
THIS_
const UINT16 uVolume
) PURE;
Purpose: | Receives notice of audio volume changes |
Implemented by: | Audio rendering plug-ins, top-level clients |
Used by: | Audio Services |
Header file: | rmaausvc.h |
Through the IRMAVolume
interface, an audio rendering plug-in or the top-level client can register to receive volume change notifications. Audio Services then uses the IRMAVolumeAdviseSink
interface to inform the component of changes in volume or muting.
![]() |
Additional Information |
---|
See "Controlling Volume". |
The IRMAVolumeAdviseSink
interface contains the following methods:
As with all COM interfaces, the IRMAVolumeAdviseSink
interface inherits the following IUnknown
methods:
Indicates a mute change has occurred. This interface is called whenever the associated IRMAVolume::SetMute
method is called.
STDMETHOD(OnMuteChange) (
THIS_
const BOOL bMute
) PURE;
TRUE
, the volume has been muted.
Indicates a volume change has occurred. This method is called whenever the associated IRMAVolume::SetVolume
method is called.
STDMETHOD(OnVolumeChange) (
THIS_
const UINT16 uVolume
) PURE;
Purpose: | Registers a specific tag. |
Implemented by: | Tag handler plug-ins |
Used by: | Server tag file system plug-in |
Header file: | rmaxmltg.h |
This interface creates tag objects and registers tags.
The IRMAXMLTagHandler
interface contains the following methods:
IRMAXMLTagHandler::CreateTagObject
IRMAXMLTagHandler::GetTagHandlerInfo
IRMAXMLTagHandler::InitTagHandler
As with all COM interfaces, the IRMAXMLTagHandler
interface inherits the following IUnknown
methods:
Creates a tag object to manage tags.
STDMETHOD(CreateTagObject) (
THIS_
IRMAXMLTagObject** ppObj
) PURE;
IRMAXMLTagObject
interface that manages the tag object.
Indicates what tags the tag object supports (that is, the tag object created by IRMAXMLTagHandler::CreateTagObject
).
STDMETHOD(GetTagHandlerInfo) (
THIS_
REF(const char*) pShortName,
REF(const char**) pTag,
REF(BOOL) bCanHandleAsync
) PURE;
pn-vsrctaghdlr
or pn-includer
. The short name is placed in the list of tag handlers the tag file system is configured to use.
IRMAXMLTagObject::OnTag
can then be called for each of these tags.
TRUE
if the handler can handle more than one request at a time. Returns FALSE
if all requests must be synchronous.
Initializes the tag handler before it can create tags.
STDMETHOD(InitTagHandler) (
THIS_
IRMAValues* pOptions
) PURE;
IRMAValues
interface that manages the options in the server configuration file for this handler.
Purpose: | Receives the contents of a tag. |
Implemented by: | Tag handler plug-ins |
Used by: | Tag file system |
Header file: | rmaxmltg.h |
Once intialized, this interface provides tag notification for files that pass through the tag file system, specifically tags the tag handler indicated should be handled in the IRMAXMLTagHandler::GetTagHandlerInfo
method. This interface is called either asynchronously or synchronously, depending on what was returned by the IRMAXMLTagHandler::GetTagHandlerInfo
method.
The IRMAXMLTagObject
interface contains the following methods:
As with all COM interfaces, the IRMAXMLTagObject
interface inherits the following IUnknown
methods:
Closes the tag object once the tag object is done.
STDMETHOD(Close) (
THIS
) PURE;
Initializes the tag object to prepare the tag object to handle tags.
STDMETHOD(InitTagObject) (
IRMAXMLTagObjectResponse* pResp
) PURE;
IRMAXMLTagObjectResponse
interface that manages the response to this interface.
Called for every tag in a document for which the handler was registered, and passes through the mount point on which the tag file system is mounted.
STDMETHOD(OnTag) (
THIS_
UINT32 ulInstance,
IRMABuffer* pTag
) PURE;
IRMAXMLTagObjectResponse::OnTagDone
.
IRMABuffer
interface that manages the tag to be registered for callbacks.
Purpose: | Returns the replacement for the tag |
Implemented by: | Server plug-in tag file system |
Used by: | Tag objects |
Header file: | rmaxmltg.h |
This interface returns a replacement tag for the IRMAXMLTagObject::OnTag
method.
The IRMAXMLTagObjectResponse
interface contains the IRMAXMLTagObjectResponse::OnTagDone
method.
As with all COM interfaces, the IRMAXMLTagObjectResponse
interface inherits the following IUnknown
methods:
Returns the replacement tag for the specified tag instance.
STDMETHOD(OnTagDone) (
THIS_
UINT32 ulInstance,
IRMABuffer* pTag
) PURE;
IRMAXMLTagObject::OnTag
.
IRMABuffer
interface that manages the tag object to be inserted in the document in place of the tag with which IRMAXMLTagObject::OnTag
was called. For example:
OnTag(1, "<myTag options>")
OnTagDone(1, "Text to be inserted instead of <myTag options>")
The IUnknown
interface is the basis of all COM interfaces. This interface contains a set of methods that control the lifetime of a specific object, and provides a means of querying for the interfaces used by an object. The IUnknown
interface includes the following methods:
Increases the object's reference count by one. Whenever an object is created, it's reference count begins at 1. If an application calls IUnknown::AddRef
, queries an interface belonging to a specific object, or uses a creation function like RMACreateInstance
, the reference count is incremented by 1.
STDMETHOD_(ULONG32,AddRef) (
THIS
) PURE;
Returns the new reference count.
![]() |
Note |
---|
Use the IUnknown::Release method to decrease the reference count by 1.
|
Queries an object to determine if it supports a specific interface. If the call succeeds, you can then use the methods belonging to that interface.
STDMETHOD(QueryInterface) (
THIS_
REFIID riid,
void** ppvObj
) PURE;
Returns PNR_OK
if successful, or one of the following values:
Decreases the object's reference count by one. Every call to IUnknown::AddRef
, IUnknown::QueryInterface
, or a creation function such as RMACreateInstance
must have a corresponding call to IUnknown::Release
. Once the reference count reaches 0, the object is destroyed.
STDMETHOD_(ULONG32,Release) (
THIS
) PURE;
Returns the new reference count.