previous next

Interface List (continued)

IRMASiteWatcher

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:

As with all COM interfaces, the IRMASiteWatcher interface inherits the following IUnknown methods:

IRMASiteWatcher::AttachSite

Attaches a site interface to this site watcher interface.


STDMETHOD(AttachSite) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that is to be attached.

IRMASiteWatcher::ChangingPosition

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;
posOld
A PNxPoint structure that indicates the previous postion of the site.

posNew
Returns a PNxPoint structure that indicates the new position.

IRMASiteWatcher::ChangingSize

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;
sizeOld
A PNxSize structure that indicates the previous size of the site.

sizeNew
Returns a PNxSize structure that indicates the new size.

IRMASiteWatcher::DetachSite

Detaches the site interface that was previously attached to this site watcher.


STDMETHOD(DetachSite) (
THIS
) PURE;

IRMASiteWindowed

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:

As with all COM interfaces, the IRMASiteWindowed interface inherits the following IUnknown methods:

IRMASiteWindowed::AttachWindow

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.

IRMASiteWindowed::Create

Creates a default, top-level window for the site.


STDMETHOD(Create) (
THIS_
void* ParentWindow,
UINT32 style
) PURE;
ParentWindow
Pointer to the parent window. If this parameter is NULL, the site has no parent, that is, it will be a "floating" window. To have the site in a user interface, a parent must be given.

style
The style of the window. The value of this parameter is native to the operating system. For example, on Windows this parameter can be WS_OVERLAPPED, WS_VISIBLE, WS_CLIPCHILDREN, and so on.

IRMASiteWindowed::Destroy

Destroys the previously created top-level window for the site.


STDMETHOD(Destroy) (
THIS
) PURE;

IRMASiteWindowed::DetachWindow

Detaches a previously-attached window from the site.


STDMETHOD(DetachWindow) (
THIS
) PURE;

IRMASiteWindowed::GetWindow

Returns the actual window of the site in the indicated PNxWindow structure.


STDMETHOD_(PNxWindow*,GetWindow) (
THIS
) PURE;

IRMASiteWindowless

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:

IRMASiteWindowless::EventOccurred

Indicates that a native operating system event occurred.


STDMETHOD(EventOccurred) (
THIS_
PNxEvent* pEvent
) PURE;
pEvent
A PNxEvent structure that describes the event.

IRMASiteWindowless::GetParentWindow

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;

IRMASourceFinderObject

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:

IRMASourceFinderObject::Done

Information not yet available at publication.


STDMETHOD(Done) (
THIS
) PURE;

IRMASourceFinderObject::Find

Searches for the requested live stream source.


STDMETHOD(Find) (
THIS_
IRMARequest* pRequest
) PURE;
pRequest
Pointer to an IRMARequest interface that manages the source information.

IRMASourceFinderObject::Init

Information not yet available at publication.


STDMETHOD(Init) (
THIS_
IUnknown* pUnknown
) PURE;
pUnknown
Information not yet available at publication.

IRMASourceFinderResponse

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:

IRMASourceFinderResponse::FindDone

Indicates the source finder has finished searching for the requested live stream source.


STDMETHOD(FindDone) (
THIS_
PN_RESULT status,
IUnknown* pUnknown
) PURE;
status
The status of the IRMASourceFinderObject::Find operation. A value of PNR_OK indicates the operation has completed successfully.

pUnknown
Information not yet available at publication.

IRMASourceFinderResponse::InitDone

Indicates the status of the source finder interface intialization.


 STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMASourceFinderObject::Init operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAStatistics

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:

IRMAStatistics::InitializeStatistics

Passes the registry ID of the statistics to the caller.


STDMETHOD(InitializeStatistics) (
THIS_
UINT32 ulRegistryID
) PURE;
ulRegistryID
The registry ID of the statistics.

IRMAStatistics::Update

Notifies the client to update its statistics stored in the registry.


STDMETHOD(UpdateStatistics) (
THIS
) PURE;

IRMAStatusMessage

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:

IRMAStatusMessage::SetStatus

Sets the status text.


STDMETHOD(SetStatus) (
THIS_
const char* pText
) PURE;
pText
Information not yet available at publication.

IRMAStream

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:

As with all COM interfaces, the IRMAStream interface inherits the following IUnknown methods:

IRMAStream::GetHeader

Returns the header for this stream using the indicated IRMAValues interface.


STDMETHOD_(IRMAValues*,GetHeader) (
THIS
) PURE;

IRMAStream::GetRenderer

Returns the indicated renderer instance (IRMARenderer) supported by this stream.


STDMETHOD(GetRenderer) (
THIS_
UINT16 nIndex,
REF(IUnknown*) pUnknown
) PURE;
nIndex
The index of the renderer supported by this stream.

pUnknown
Returns a pointer to a context from which other interfaces can be queried.

IRMAStream::GetRendererCount

Returns the current number of renderer instances supported by this stream instance.


STDMETHOD_(UINT16, GetRendererCount) (
THIS
) PURE;

IRMAStream::GetSource

Gets the interface to the stream source of which this stream is a part.


STDMETHOD(GetSource) (
THIS_
REF(IRMAStreamSource*) pSource
) PURE;
pSource
Returns a pointer to an IRMAStreamSource interface that manages the stream source.

IRMAStream::GetStreamNumber

Returns the stream number for this stream relative to the IRMAStreamSource interface of which the stream is a part.


STDMETHOD_(UINT16,GetStreamNumber) (
THIS
) PURE;

IRMAStream::GetStreamType

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.

IRMAStream::ReportQualityOfService

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;
unQuality
The quality of service for this stream. This parameter is set on a scale of 0 to 100, where 100 is the best possible quality for this stream.

Note
The playback context can use this value to indicate loss in quality to the user interface. When the effects of a lost packet are eliminated the renderer should call this method with a unQuality of 100.

IRMAStream::ReportRebufferStatus

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;
unNeeded
The number of packets needed to render the presentation smoothly.

unAvailable
The number of packets currently available.

IRMAStream::SetGranularity

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;
ulGranularity
The required granularity.

IRMAStreamSource

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:

As with all COM interfaces, the IRMAStreamSource interface inherits the following IUnknown methods:

IRMAStreamSource::GetPlayer

Gets the interface to the player of which the source is a part.


STDMETHOD(GetPlayer) (
THIS_
REF(IRMAPlayer*) pPlayer
) PURE;
pPlayer
Returns a pointer to the IRMAPlayer interface.

IRMAStreamSource::GetStream

Returns the indicated stream instance supported by this source.


STDMETHOD(GetStream) (
THIS_
UINT16 nIndex,
REF(IUnknown*) pUnknown
) PURE;
nIndex
The index number of the stream instance.

pUnknown
Information not yet available at publication.

IRMAStreamSource::GetStreamCount

Returns the current number of stream instances supported by this source instance.


STDMETHOD_(UINT16, GetStreamCount) (
THIS
) PURE;

IRMAStreamSource::GetURL

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;

IRMAStreamSource::IsLive

Determines whether the stream source is live. Returns TRUE if the stream source is live.


STDMETHOD_ (BOOL,IsLive) (
THIS
) PURE;

IRMATCPResponse

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:

As with all COM interfaces, the IRMATCPResponse interface inherits the following IUnknown methods:

IRMATCPResponse::Closed

Informs you that the TCP channel has been closed by the peer or closed due to error.


STDMETHOD(Closed) (
THIS_
PN_RESULT status
) PURE;
status
The status of the operation. A value of PNR_OK indicates the operation was closed successfully by the peer.

IRMATCPResponse::ConnectDone

Indicates the IRMATCPSocket::Connect operation has completed.


STDMETHOD(ConnectDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMATCPSocket::Connect operation. A value of PNR_OK indicates the operation has completed successfully.

IRMATCPResponse::ReadDone

Indicates the IRMATCPSocket::Read operation has completed.


STDMETHOD(ReadDone) (
THIS_
PN_RESULT status,
IRMABuffer* pBuffer
) PURE;
status
The status of the IRMATCPSocket::Read operation. A value of PNR_OK indicates the operation has completed successfully.

pBuffer
Pointer to an IRMABuffer interface that manages the data returned from the read operation.

IRMATCPResponse::WriteReady

Indicates the IRMATCPSocket::WantWrite operation has completed.


STDMETHOD(WriteReady) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMATCPSocket::WantWrite operation. A value of PNR_OK indicates the operation has completed successfully and that you can now write to the TCP channel.

IRMATCPSocket

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:

As with all COM interfaces, the IRMATCPSocket interface inherits the following IUnknown methods:

IRMATCPSocket::Bind

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;
ulLocalAddr
The local address.

nPort
The number of the local port.

IRMATCPSocket::Connect

Connects to the specified address.


STDMETHOD(Connect) (
THIS_
const char* pDestination,
UINT16 nPort
) PURE;
pDestination
Pointer to the destination to which to connect. The destination to which this parameter points consists of either a host name in the form www.myserver.com or an IP address in the form nnn.nnn.nnn.nnn.

nPort
The port to which to connect.

IRMATCPSocket::GetForeignAddress

Retrieves the address of the other end of the TCP socket.


STDMETHOD(GetForeignAddress) (
THIS_
REF(ULONG32) lAddress
) PURE;
lAddress
Returns the address of the other end of the TCP socket. This address is returned in local host order.

IRMATCPSocket::GetForeignPort

Retrieves the port of the other end of the TCP socket.


STDMETHOD(GetForeignPort) (
THIS_
REF(UINT16) port
) PURE;
port
Returns the port of the other end of the TCP socket. This port is returned in local host order.

IRMATCPSocket::GetLocalAddress

Retrieves the address.


STDMETHOD(GetLocalAddress) (
THIS_
REF(ULONG32) lAddress
) PURE;
lAddress
Returns the address. This address is returned in local host order.

IRMATCPSocket::GetLocalPort

Retrieves the port.


STDMETHOD(GetLocalPort) (
THIS_
REF(UINT16) port
) PURE;
port
Returns the port. This port is returned in local host order.

IRMATCPSocket::Init

Initializes the TCP socket and identifies the response interface.


STDMETHOD(Init) (
THIS_
IRMATCPResponse* pTCPResponse
) PURE;
pTCPResponse
Pointer to an IRMATCPResponse interface that manages the responses to various IRMATCPSocket methods.

IRMATCPSocket::Read

Reads the specified number of bytes from the TCP source.


STDMETHOD(Read) (
THIS_
UINT16 Size
) PURE;
Size
The size, in bytes, of the data to read from the TCP source.

IRMATCPSocket::SetResponse

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;
pTCPResponse
Pointer to an IRMATCPResponse interface that manages reponses to various IRMATCPSocket methods.

IRMATCPSocket::WantWrite

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;

IRMATCPSocket::Write

Writes data to the TCP socket.


STDMETHOD(Write) (
THIS_
IRMABuffer* pBuffer
) PURE;
pBuffer
Pointer to an IRMABuffer interface that manages the data to be written.

IRMATransportControl

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:

IRMATransportControl::SetTransportType

Sets the transport type.


STDMETHOD(SetTransportType) (
const char* pTransportType
) PURE;
pTransportType
The transport type. The two encoder transport types currently supported are:

IRMAUDPMulticastInit

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:

IRMAUDPMulticastInit::InitMulticast

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;
chTTL
The number of routers across which to send packets.

IRMAUDPResponse

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:

IRMAUDPResponse::ReadDone

Indicates the IRMAUDPSocket::Read method has completed.


STDMETHOD(ReadDone) (
THIS_
PN_RESULT status,
IRMABuffer* pBuffer,
ULONG32 ulAddr,
UINT16 nPort
) PURE;
status
The status of the IRMAUDPSocket::Read operation. A value of PNR_OK indicates the operation has completed successfully.

pBuffer
Pointer to an IRMABuffer interface that manages the data that was read.

ulAddr
Information not yet available at publication.

nPort
Information not yet available at publication.

IRMAUDPSocket

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:

As with all COM interfaces, the IRMAUDPSocket interface inherits the following IUnknown methods:

IRMAUDPSocket::Bind

Binds the UDP socket to a local address and port.


STDMETHOD(Bind) (
THIS_
UINT32 ulLocalAddr,
UINT16 nPort
) PURE;
ulLocalAddr
The local address, in native byte order.

nPort
The number of the local port.

IRMAUDPSocket::GetLocalPort

Retrieves the local port.


 STDMETHOD(GetLocalPort) (
THIS_
REF(UINT16) port
) PURE;
port
Returns the local port.

IRMAUDPSocket::Init

Initializes the UDP socket and identifies the response interface.


STDMETHOD(Init) (
THIS_
ULONG32 ulAddr,
UINT16 nPort,
IRMAUDPResponse* pUDPResponse
) PURE;
ulAddr
The IP connection address expressed as a four-byte address in native byte order.

nPort
The port number.

pUDPResponse
Pointer to an IRMAUDPResponse interace that manages responses to various IRMAUDPSocket methods.

IRMAUDPSocket::JoinMulticastGroup

Connects through RealSystem's UDP multicast.


STDMETHOD(JoinMulticastGroup) (
THIS_
ULONG32 ulMulticastAddr,
ULONG32 ulInterfaceAddr
) PURE;
ulMulticastAddr
The multicast address (the address to which this method is sending).

ulInterfaceAddr
The interface address (the address from which this method is sending).

IRMAUDPSocket::LeaveMulticastGroup

Leaves RealSystem's UDP multicast.


STDMETHOD(LeaveMulticastGroup) (
THIS_
ULONG32 ulMulticastAddr,
ULONG32 ulInterfaceAddr
) PURE;
ulMulticastAddr
The multicast address (the address to which this method was sending).

ulInterfaceAddr
The interface address (the address from which this method was sending).

IRMAUDPSocket::Read

Reads a specified number of bytes from the UDP source.


STDMETHOD(Read) (
THIS_
UINT16 Size
) PURE;
Size
The size, in bytes, of the data to read from the UDP source.

IRMAUDPSocket::Write

Writes data to the UDP socket.


STDMETHOD(Write) (
THIS_
IRMABuffer* pBuffer
) PURE;
pBuffer
Pointer to an IRMABuffer interface that manages the data to write to the UDP socket.

IRMAUDPSocket::WriteTo

Writes data to the specified UDP socket.


STDMETHOD(WriteTo) (
THIS_
ULONG32 ulAddr,
UINT16 nPort,
IRMABuffer* pBuffer
) PURE;
ulAddr
The IP connection address expressed as a four-byte address in native byte order.

nPort
The port number.

pBuffer
Pointer to an IRMABuffer interface that manages the data to write to the specified UDP socket.

IRMAUpgradeCollection

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:

As with all COM interfaces, the IRMAUpgradeCollection interface inherits the following IUnknown methods:

IRMAUpgradeCollection::Add

Adds the specified upgrade information to the collection.


STDMETHOD_(UINT32, Add) (
THIS_
RMAUpgradeType upgradeType,
IRMABuffer* pPluginId,
UINT32 majorVersion,
UINT32 minorVersion
) PURE;
upgradeType
An RMAUpgradeType enumerator that specifies the type of upgrade. The type can be required, recommended, or optional.

pPluginID
Pointer to an IRMABuffer interface that manages the plug-in's ID.

majorVersion
Information not yet available at publication.

minorVersion
Information not yet available at publication.

IRMAUpgradeCollection::GetAt

Retrieves the specified item's upgrade information.


STDMETHOD(GetAt) (
THIS_
UINT32 index,
REF(RMAUpgradeType) upgradeType,
IRMABuffer* pPluginId,
REF(UINT32) majorVersion,
REF(UINT32) minorVersion
) PURE;
index
The item from which to get the upgrade information.

upgradeType
Returns the type of upgrade. This can be required, recommended, or optional.

pPluginID
Pointer to an IRMABuffer interface that manages the plug-in's ID.

majorVersion
Returns the major version of the plug-in.

minorVersion
Returns the minor version of the plug-in.

IRMAUpgradeCollection::GetCount

Gets the count of the collection.


STDMETHOD_(UINT32, GetCount) (
THIS
) PURE;

IRMAUpgradeCollection::Remove

Remove the specified item from the collection.


STDMETHOD(Remove) (
THIS_
UINT32 index
) PURE;
index
The item to remove.

IRMAUpgradeCollection::RemoveAll

Removes all items from the collection.


STDMETHOD(RemoveAll) (
THIS
) PURE;

IRMAUpgradeHandler

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:

IRMAUpgradeHandler::HasComponents

Checks if required components are present on the system.


STDMETHOD(HasComponents) (
THIS_
IRMAUpgradeCollection* pComponents
) PURE;
pComponents
Pointer to an 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.

IRMAUpgradeHandler::RequestUpgrade

Asks if the user wants to do an upgrade and, if so, starts the upgrade.


STDMETHOD(RequestUpgrade) (
THIS_
IRMAUpgradeCollection* pComponents,
BOOL bBlocking
) PURE;
pComponents
Pointer to an IRMAUpgradeCollection interface that manages the components that need to be upgraded.

bBlocking
Information not yet available at publication.

IRMAUserContext

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:

IRMAUserContext::IsMemberOf

Determines whether the authenticated user is a member of the specified group.


STDMETHOD(IsMemberOf) (
THIS_
IRMABuffer* pBufferGroupID
) PURE;
pBufferGroupID
Pointer to an IRMABuffer interface that manages the group ID.

IRMAUserImpersonation

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:

IRMAUserImpersonation::Start

Begins impersonating the authenticated user.


STDMETHOD(Start) (
THIS
) PURE;

IRMAUserImpersonation::Stop

Stops impersonating the authenticated user.


STDMETHOD(Stop) (
THIS
) PURE;

IRMAUserProperties

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:

IRMAUserProperties::GetAuthorityName

Determines who authorized the authenticated user (the realm, domain name, or other).


STDMETHOD(GetAuthorityName) (
THIS_
REF(IRMABuffer*) pBufferAuthorityName
) PURE;
pBufferAuthorityName
Returns a pointer to an IRMABuffer interface that manages the name of the authorizer of the currently-authenticated user.

IRMAUserProperties::GetPrincipalID

Determine the principal ID of the authenticated user.


STDMETHOD(GetPrincipalID) (
THIS_
REF(IRMABuffer*) pBufferPrincipalID
) PURE;
pBufferPrincipalID
Returns a pointer to an IRMABuffer interface that manages the principal ID.

IRMAValues

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:

As with all COM interfaces, the IRMAValues interface inherits the following IUnknown methods:

IRMAValues::GetFirstPropertyBuffer

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;
pPropertyName
Returns a pointer to the name of the property at the beginning of the list.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the buffer value at the beginning of the list.

IRMAValues::GetFirstPropertyCString

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;
pPropertyName
Returns a pointer to the name of the property at the beginning of the list.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the CString value at the beginning of the list.

IRMAValues::GetFirstPropertyULONG32

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;
pPropertyName
Returns a pointer to the name of the property at the beginning of the list.

uPropertyValue
Returns the 32-bit unsigned long value at the beginning of the list.

IRMAValues::GetNextPropertyBuffer

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;
pPropertyName
Returns a pointer to the name of the property that is next in the list.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the next buffer value in the list.

IRMAValues::GetNextPropertyCString

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;
pPropertyName
Returns a pointer to the name of the property that is next in the list.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the next CString value in the list.

IRMAValues::GetNextPropertyULONG32

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;
pPropertyName
Returns a pointer to the name of the property that is next in the list.

uPropertyValue
Returns the 32-bit unsigned long value that is next in the list.

IRMAValues::GetPropertyBuffer

Retrieves the buffer value specified by the given property name.


STDMETHOD(GetPropertyBuffer) (
THIS_
const char* pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
pPropertyName
Pointer to the name of the property.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the buffer value.

IRMAValues::GetPropertyCString

Retrieves the CString value specified by the given property name.


 STDMETHOD(GetPropertyCString) (
THIS_
const char* pPropertyName,
REF(IRMABuffer*) pPropertyValue
) PURE;
pPropertyName
Pointer to the name of the property.

pPropertyValue
Returns a pointer to an IRMABuffer interface that manages the CString value.

IRMAValues::GetPropertyULONG32

Retrieves the 32-bit unsigned long value specified by the given property name.


STDMETHOD(GetPropertyULONG32) (
THIS_
const char* pPropertyName,
REF(ULONG32) uPropertyName
) PURE;
pPropertyName
Pointer to the name of the property.

uPropertyName
Returns the 32-bit unsigned long value.

IRMAValues::SetPropertyBuffer

Sets a value in a named buffer.


STDMETHOD(SetPropertyBuffer) (
THIS_
const char* pPropertyName,
IRMABuffer* pPropertyValue
) PURE;
pPropertyName
Pointer to the name assigned to this property.

pPropertyValue
Pointer to an IRMABuffer interface that manages this property value.

IRMAValues::SetPropertyCString

Sets a value in a named CString.


STDMETHOD(SetPropertyCString) (
THIS_
const char* pPropertyName,
IRMABuffer* pPropertyValue
) PURE;
pPropertyName
Pointer to the name assigned to this property.

pPropertyValue
Pointer to an IRMABuffer interface that manages this property value.

IRMAValues::SetPropertyULONG32

Sets a value in a named 32-bit unsigned long.


STDMETHOD(SetPropertyULONG32) (
THIS_
const char* pPropertyName,
ULONG32 uPropertyValue
) PURE;
pPropertyName
Pointer to the name assigned to this property.

uPropertyValue
The property value assigned to this 32-bit unsigned long.

IRMAValuesRemove

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:

As with all COM interfaces, the IRMAValuesRemove interface inherits the following IUnknown methods:

IRMAValuesRemove::Remove

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;
pKey
The item that is to be removed.

IRMAValuesRemove::RemoveBuffer

Removes all buffer items that you specify.


STDMETHOD(RemoveBuffer) (
const char* pKey
) PURE;
pKey
The buffer item that is to be removed.

IRMAValuesRemove::RemoveCString

Removes all CString items that you specify.


STDMETHOD(RemoveCString) (
const char* pKey
) PURE;
pKey
The CString item that is to be removed.

IRMAValuesRemove::ULONG32

Removes all ULONG32 items that you specify.


STDMETHOD(RemoveULONG32) (
const char* pKey
) PURE;
pKey
The ULONG item that is to be removed.

IRMAVideoSurface

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:

As with all COM interfaces, the IRMAVideoSurface interface inherits the following IUnknown methods:

IRMAVideoSurface::BeginOptimizedBlt

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;
pBitmapInfo
Pointer to an RMABitmapInfoHeader structure that contains the drawing format.

IRMAVideoSurface::Blt

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;
pImageBits
Pointer to the image data to be displayed.

pBitmapInfo
Pointer to an RMABitmapInfoHeader structure that contains the drawing format.

rDestRect
The PNxRect structure that describes the destination rectangle.

rSrcRect
The PNxRect structure that describes the source rectangle.

IRMAVideoSurface::EndOptimizedBlt

Allows the video surface to clean up after all optimized blit calls have been made.


STDMETHOD(EndOptimizedBlt) (
THIS
) PURE;

IRMAVideoSurface::GetOptimizedFormat

Inquires about the compression type the renderer committed to when it called IRMAVideoSurface::BeginOptimizedBlt.


STDMETHOD(GetOptimizedFormat) (
THIS_
REF(RMA_COMPRESSION_TYPE) ulType
) PURE;
ulType
The compression type. One of the following:

IRMAVideoSurface::GetPreferredFormat

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;
ulType
The compression type. One of the following:

IRMAVideoSurface::OptimizedBlt

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;
pImageBits
Pointer to the image data to be displayed.

rDestRect
A PNxRect structure that describes the destination rectangle.

rSrcRect
A PNxRect structure that describes the source rectangle.

IRMAViewSourceCommand

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

As with all COM interfaces, the IRMAViewSourceCommand interface inherits the following IUnknown methods:

IRMAViewSourceCommand::CanViewSource

Determines if a specified stream supports ViewSource. Returns TRUE if the stream does support ViewSource.


STDMETHOD_(BOOL, CanViewSource) (
THIS_
IRMAStreamSource* pStream
) PURE;
pStream
Pointer to an IRMAStreamSource interface that manages the particular stream being queried for its support of ViewSource.

IRMAViewSourceCommand::DoViewSource

Requests a source be viewed on the specified stream.


STDMETHOD(DoViewSource) (
THIS_
IRMAStreamSource* pStream
) PURE;
pStream
Pointer to an IRMAStreamSource interface that manages the stream on which the source is to be viewed.

IRMAViewSourceCommand::GetViewSourceURL

Requests the URL of the source to be viewed.


STDMETHOD(GetViewSourceURL) (
THIS_
IRMAStreamSource* pSource,
IRMAViewSourceURLResponse* pResp
) PURE;
pSource
Pointer to an IRMAStreamSource interface that manages the stream on which the source is to be viewed.

pResp
Pointer to an IRMAViewSourceURLResponse interface that manages the response to this method.

IRMAViewSourceURLResponse

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:

IRMAViewSourceURLResponse::ViewSourceURLReady

Provides the URL of the source to be viewed.


STDMETHOD(ViewSourceURLReady) (
THIS_
const char* pUrl
) PURE;
pUrl
Pointer to the URL that contains the source to be viewed.

IRMAVolume

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:

As with all COM interfaces, the IRMAVolume interface inherits the following IUnknown methods:

IRMAVolume::AddAdviseSink

Associates a volume advise sink interface with this interface.


STDMETHOD(AddAdviseSink) (
THIS_
IRMAVolumeAdviseSink* pSink
) PURE;
pSink
Pointer to an IRMAVolumeAdviseSink interface that advises the calling component of changes in volume and muting.

IRMAVolume::GetMute

Determines if the volume is muted. Returns TRUE if the volume is muted.


STDMETHOD_(BOOL,GetMute) (
THIS
) PURE;

IRMAVolume::GetVolume

Returns the current volume level.


STDMETHOD_(UINT16,GetVolume) (
THIS
) PURE;

IRMAVolume::RemoveAdviseSink

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;
pSink
Pointer to the IRMAVolumeAdviseSink interface to be removed.

IRMAVolume::SetMute

Mutes the volume.


STDMETHOD(SetMute) (
THIS_
const BOOL bMute
) PURE;
bMute
If TRUE, the volume is muted.

IRMAVolume::SetVolume

Sets the volume level.


STDMETHOD(SetVolume) (
THIS_
const UINT16 uVolume
) PURE;
uVolume
The volume level.

IRMAVolumeAdviseSink

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:

IRMAVolumeAdviseSink::OnMuteChange

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;
bMute
If TRUE, the volume has been muted.

IRMAVolumeAdviseSink::OnVolumeChange

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;
uVolume
The new volume level.

IRMAXMLTagHandler

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:

As with all COM interfaces, the IRMAXMLTagHandler interface inherits the following IUnknown methods:

IRMAXMLTagHandler::CreateTagObject

Creates a tag object to manage tags.


STDMETHOD(CreateTagObject) (
THIS_
IRMAXMLTagObject** ppObj
) PURE;
ppObj
Pointer to a pointer to an IRMAXMLTagObject interface that manages the tag object.

IRMAXMLTagHandler::GetTagHandlerInfo

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;
pShortName
Returns a pointer to the short name of the tag handler, such as pn-vsrctaghdlr or pn-includer. The short name is placed in the list of tag handlers the tag file system is configured to use.

pTag
Returns a pointer to a pointer to a string list of tags. IRMAXMLTagObject::OnTag can then be called for each of these tags.

bCanHandleAsync
Returns TRUE if the handler can handle more than one request at a time. Returns FALSE if all requests must be synchronous.

IRMAXMLTagHandler::InitTagHandler

Initializes the tag handler before it can create tags.


STDMETHOD(InitTagHandler) (
THIS_
IRMAValues* pOptions
) PURE;
pOptions
Pointer to an IRMAValues interface that manages the options in the server configuration file for this handler.

IRMAXMLTagObject

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:

IRMAXMLTagObject::Close

Closes the tag object once the tag object is done.


STDMETHOD(Close) (
THIS
) PURE;

IRMAXMLTagObject::InitTagObject

Initializes the tag object to prepare the tag object to handle tags.


STDMETHOD(InitTagObject) (
IRMAXMLTagObjectResponse* pResp
) PURE;
pResp
Pointer to an IRMAXMLTagObjectResponse interface that manages the response to this interface.

IRMAXMLTagObject::OnTag

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;
ulInstance
In the case of asynchronous requests, this parameter indicates the instance of the tag request for IRMAXMLTagObjectResponse::OnTagDone.

pTag
Pointer to an IRMABuffer interface that manages the tag to be registered for callbacks.

IRMAXMLTagObjectResponse

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:

IRMAXMLTagObjectResponse::OnTagDone

Returns the replacement tag for the specified tag instance.


 STDMETHOD(OnTagDone) (
THIS_
UINT32 ulInstance,
IRMABuffer* pTag
) PURE;
ulInstance
In the case of asynchronous requests, this parameter indicates the instance of the tag request from IRMAXMLTagObject::OnTag.

pTag
Pointer to an 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>")

IUnknown

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:

IUnknown::AddRef

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;

Return Values

Returns the new reference count.

Note
Use the IUnknown::Release method to decrease the reference count by 1.

IUnknown::QueryInterface

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;
riid
Indicates the reference identifier of the interface being queried.

ppvObj
Points to an interface pointer that is filled in if the query succeeds.

Return Values

Returns PNR_OK if successful, or one of the following values:

IUnknown::Release

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;

Return Values

Returns the new reference count.


Copyright © 2000 RealNetworks
For technical support, please contact supportsdk@real.com.
This file last updated on 05/17/00 at 12:50:40.
previous next