previous next

Interface List (continued)

IRMARTPPacket

Purpose: Provides RTP time for streaming data packets
Implemented by: Packet object (RealSystem architecture)
Used by: File format and rendering plug-ins
Header file: rmapckts.h

RealSystem components use IRMARTPPacket objects to stream RTP packets between the RealServer and the RealSystem clients. A file format plug-in, for example, prepares RTP packets that RealServer streams to the client. As well, the client's rendering plug-in can use the system's back channel to send back packets of information. The preferred implementation is to use IRMACommonClassFactory to create the RTP packet objects.

The IRMARTPPacket interface contains the following methods:

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

IRMARTPPacket::Get

Retrieves the values from the packet all at one time.


STDMETHOD(Get) (
THIS_
REF(IRMABuffer*) pBuffer,
REF(UINT32) ulTime,
REF(UINT16) unStreamNumber,
REF(UINT8) unASMFlags,
REF(UINT16) unASMRuleNumber
) PURE;
pBuffer
Returns a pointer to the IRMABuffer interface that manages the packet data.

ulTime
Returns the time stamp for the packet.

unStreamNumber
Returns the stream number to which the packet belongs.

unASMFlags
Returns the adaptive stream management (ASM) flags associated with the packet.

unASMRuleNumber
Returns the ASM rule number of the packet.

Additional Information
See "Chapter 11: Adaptive Stream Management".

IRMARTPPacket::GetASMFlags

Returns the ASM flags. The ASM flags can be either RMA_ASM_SWITCH_ON or RMA_ASM_SWITCH_OFF.


STDMETHOD_(UINT8,GetASMFlags) (
THIS
) PURE;

Additional Information
See "Chapter 11: Adaptive Stream Management".

IRMARTPPacket::GetASMRuleNumber

Returns the ASM rule number.


STDMETHOD_(UINT16,GetASMRuleNumber) (
THIS
) PURE;

Additional Information
See "Chapter 11: Adaptive Stream Management".

IRMARTPPacket::GetBuffer

Returns an IRMABuffer interface that manages the packet data.


STDMETHOD_(IRMABuffer*,GetBuffer) (
THIS
) PURE;

IRMARTPPacket::GetRTP

Retrieves the values from the RTP packet all at one time.


STDMETHOD(GetRTP) (
THIS_
REF(IRMABuffer*) pBuffer,
REF(UINT32) ulTime,
REF(UINT32) ulRTPTime,
REF(UINT16) unStreamNumber,
REF(UINT8) unASMFlags,
REF(UINT16) unASMRuleNumber
) PURE;
pBuffer
Returns a pointer to the IRMABuffer interface that manages the packet data.

ulTime
Returns the time stamp for the packet.

ulRTPTime
Returns the RTP time for the packet.

unStreamNumber
Returns the stream number to which the packet belongs.

unASMFlags
Returns the adaptive stream management (ASM) flags associated with the packet.

unASMRuleNumber
Returns the ASM rule number of the packet.

Additional Information
See "RTP Timing".

IRMARTPPacket::GetRTPTime

Returns the RTP time.


STDMETHOD_(ULONG32,GetRTPTime) (
THIS
) PURE;

Additional Information
See "RTP Timing".

IRMARTPPacket::GetStreamNumber

Returns the stream number.


STDMETHOD_(UINT16,GetStreamNumber) (
THIS
) PURE;

IRMARTPPacket::GetTime

Returns the time in milliseconds.


STDMETHOD_(ULONG32,GetTime) (
THIS
) PURE;

IRMARTPPacket::IsLost

Indicates whether the packet has been lost. If the return value is TRUE, the packet has been lost. If the packet is lost, none of the values of the packet have any meaning.


STDMETHOD_(BOOL,IsLost) (
THIS
) PURE;

IRMARTPPacket::Set

Sets the values of the packet. This method only succeeds if there is just one reference to the packet. This method cannot be used to change the values of the packet once more than one component has a reference to that packet.


STDMETHOD(Set) (
THIS_
IRMABuffer* pBuffer,
UINT32 ulTime,
UINT16 uStreamNumber,
UINT8 unASMFlags,
UINT16 unASMRuleNumber
) PURE;
pBuffer
Pointer to an IRMABuffer interface that manages the packet data.

ulTime
The time stamp for the packet.

unStreamNumber
The stream number to which the packet belongs.

unASMFlags
The ASM flags associated with the packet.

unASMRuleNumber
The ASM rule number of the packet.

Additional Information
See "Chapter 11: Adaptive Stream Management".

IRMARTPPacket::SetAsLost

Marks a packet as lost. If the packet is lost, this method is called instead of IRMAPacket::Set. This method fails if the IRMABuffer of the packet is not NULL.


STDMETHOD(SetAsLost) (
THIS
) PURE;

IRMARTPPacket::SetRTP

Sets the values of the RTP packet. This method only succeeds if there is just one reference to the packet. This method cannot be used to change the values of the packet once more than one component has a reference to that packet.


STDMETHOD(SetRTP) (
THIS_
IRMABuffer* pBuffer,
UINT32 ulTime,
UINT32 ulRTPTime,
UINT16 uStreamNumber,
UINT8 unASMFlags,
UINT16 unASMRuleNumber
) PURE;
pBuffer
Pointer to an IRMABuffer interface that manages the packet data.

ulTime
The time stamp for the packet.

ulRTPTime
The RTP time for the packet.

unStreamNumber
The stream number to which the packet belongs.

unASMFlags
The ASM flags associated with the packet.

unASMRuleNumber
The ASM rule number of the packet.

Additional Information
See "RTP Timing".

IRMARawSinkObject

Purpose: Receives raw packets from a source
Implemented by: Server's live packet sink plug-in
Used by: Live source
Header file: rmasrc.h

This interface provides notifications about all packets that are served from a live source connected to the RMA server. It also retrieves the relevent file and stream headers.

The IRMARawSinkObject interface contains the following methods:

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

IRMARawSinkObject::FileHeaderReady

Indicates the status of the request for the file header.


STDMETHOD(FileHeaderReady) (
THIS_
PN_RESULT status,
IRMAValues* pHeader
) PURE;
status
The status of the IRMARawSourceObject::GetFileHeader operation. A value of PNR_OK indicates the operation completed successfully.

pHeader
Pointer to an IRMAValues interface that manages the file header information.

IRMARawSinkObject::InitDone

Indicates the status after the source interface initializes the connection.


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

IRMARawSinkObject::PacketReady

Indicates the status of the request for packets. This method is called for every packet received from the live source.


STDMETHOD(PacketReady) (
THIS_
PN_RESULT status,
IRMAPacket* pPacket
) PURE;
status
The status of the IRMARawSourceObject::StartPackets operation. A value of PNR_OK indicates the operation completed successfully.

pPacket
Pointer to an IRMAPacket interface that manages the packets.

IRMARawSinkObject::StreamDone

Indicates that a live stream has completed.


STDMETHOD(StreamDone) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
The stream number of the live stream that has completed.

IRMARawSinkObject::StreamHeaderReady

Indicates the status of the request for the stream header.


STDMETHOD(StreamHeaderReady) (
THIS_
PN_RESULT status,
IRMAValues* pHeader
) PURE;
status
The status of the IRMARawSourceObject::GetStreamHeader operation. A value of PNR_OK indicates the operation completed successfully.

pHeader
Pointer to an IRMAValues interface that manages the stream header information.

IRMARawSourceObject

Purpose: Serves packets to sinks
Implemented by: Information not yet available at publication.
Used by: Live packet sink plug-in
Header file: rmasrc.h

The IRMARawSourceObject interface contains the the following methods:

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

IRMARawSourceObject::Done

Information not yet available at publication.


STDMETHOD(Done) (
THIS
) PURE;

IRMARawSourceObject::GetFileHeader

Retrieves the file header.


STDMETHOD(GetFileHeader) (
THIS
) PURE;

IRMARawSourceObject::GetStreamHeader

Retrieves the indicated stream header.


STDMETHOD(GetStreamHeader) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
The stream number of the stream from which the header is to be retrieved.

IRMARawSourceObject::Init

Initializes the connection between the source and the sink interfaces.


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

IRMARawSourceObject::StartPackets

Starts sending packets to the indicated stream.


STDMETHOD(StartPackets) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
The stream number to which to send the packets.

IRMARawSourceObject::StopPackets

Stops sending packets to the indicated stream.


STDMETHOD(StopPackets) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
The stream number to which to stop sending the packets.

IRMAReconfigServerResponse

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: rmacomm.h

The IRMAReconfigServerResponse interface contains the IRMAReconfigServerResponse::ReconfigServerDone method.

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

IRMAReconfigServerResponse::ReconfigServerDone

Indicates the server has been reconfigured.


STDMETHOD(ReconfigServerDone) (
THIS_
PN_RESULT res,
IRMABuffer** pInfo,
UINT32 ulNumInfo
) PURE;
res
The status of the IRMAServerControl2::ReconfigServer operation. A value of PNR_OK indicates the operation has completed successfully.

pInfo
Information not yet available at publication.

ulNumInfo
Information not yet available at publication.

IRMARedirectDBManager

Purpose: Provides storage of URLs to redirect
Implemented by: Database plug-in, MSQL and ODBC plug-ins
Used by: Pay-per-view allowance plug-in
Header file: rmadb.h

This interface manages the URL redirection of database information. The response interface is IRMARedirectDBManagerResponse.

The IRMARedirectDBManager interface contains the following methods:

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

IRMARedirectDBManager::AddRedirect

Sets the new URL to which the specified URL should be redirected.


STDMETHOD(AddRedirect) (
THIS_
IRMARedirectDBManagerResponse* pRedirectDBManagerResponseNew,
IRMABuffer* pBufferURL,
IRMABuffer* pBufferNewURL
) PURE;
pRedirectDBManagerResponseNew
Pointer to an IRMARedirectDBManagerResponse interface that manages the response to this method.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL.

pBufferNewURL
Pointer to an IRMABuffer interface that manages the new URL.

IRMARedirectDBManager::GetRedirect

Retrieves the URL to which the specified URL should be redirected.


STDMETHOD(GetRedirect) (
THIS_
IRMARedirectDBManagerResponse* pRedirectDBManagerResponseNew,
IRMABuffer* pBufferURL
) PURE;
pRedirectDBManagerResponseNew
Pointer to an IRMARedirectDBManagerResponse interface that manages the response to this method.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL.

IRMARedirectDBManager::RemoveRedirect

Stops redirecting the specified URL.


STDMETHOD(RemoveRedirect) (
THIS_
IRMARedirectDBManagerResponse* pRedirectDBManagerResponseNew,
IRMABuffer* pBufferURL
) PURE;
pRedirectDBManagerResponseNew
Pointer to an IRMARedirectDBManagerResponse interface that manages the response to this method.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL.

IRMARedirectDBManagerResponse

Purpose: Manages the URLs to redirect
Implemented by: Pay-per-view allowance plug-in
Used by: Database plug-in, Admin file system
Header file: rmadb.h

This interface provides asynchronous responses for the IRMARedirectDBManager interface.

The IRMARedirectDBManagerResponse interface contains the following methods:

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

IRMARedirectDBManagerResponse::AddRedirectDone

Reports the status of the call to set the new URL.


STDMETHOD(AddRedirectDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferURL
) PURE;
ResultStatus
The status of the IRMARedirectDBManager::AddRedirect operation. A value of PNR_OK indicates the operation has completed successfully.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL (the original URL, not the redirected URL).

IRMARedirectDBManagerResponse::GetRedirectDone

Reports the status of the call to get the URL to which to redirect the specified URL.


STDMETHOD(GetRedirectDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferURL,
IRMABuffer* pBufferNewURL
) PURE;
ResultStatus
The status of the IRMARedirectDBManager::GetRedirect operation. A value of PNR_OK indicates the operation has completed successfully.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL.

pBufferNewURL
Pointer to an IRMABuffer interface that manages the new URL.

IRMARedirectDBManagerResponse::RemoveRedirectDone

Reports the status of the call to remove the new URL.


STDMETHOD(RemoveRedirectDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferURL
) PURE;
ResultStatus
The status of the IRMARedirectDBManager::RemoveRedirect operation. A value of PNR_OK indicates the operation has completed successfully.

pBufferURL
Pointer to an IRMABuffer interface that manages the specified URL from which to remove the redirected URL.

IRMARegConfig

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: rmacfg.h

The IRMARegConfig interface contains the IRMARegConfig::WriteKey method.

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

IRMARegConfig::WriteKey

Writes out the registry from the passed-in keyname to the currently-active permanent configuration storage area (for example, the configuration file or the registry).


STDMETHOD(WriteKey) (
THIS_
const char* pKeyName
) PURE;
pKeyName
Pointer to the key name in the registry from which to write.

IRMARegistrationLogger

Purpose: Provides storage of player registration attempts
Implemented by: Database plug-in
Used by: Pay-per-view allowance plug-in
Header file: rmadb.h

The IRMARegistrationLogger interface contains the IRMARegistrationLogger::LogRegistrationAttempt method.

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

IRMARegistrationLogger::LogRegistrationAttempt

Records the results of an attempt to register a player's GUID.


STDMETHOD(LogRegistrationAttempt) (
THIS_
IRMAValues* pValuesRegistration
) PURE;
pValuesRegistration
Information not yet available at publication.

IRMARegistryID

Purpose: Gets the registry ID for an object
Implemented by: Player, stream, and stream source objects (RealSystem architecture)
Used by: top-level client
Header file: rmacomm.h

Through this interface, the top-level client can get the registry ID of an IRMAPlayer, IRMAStream, or IRMAStreamSource object. It can then use IRMAStatistics to pass this ID to the Client core and tell the client to update the object statistics.

Additional Information
See "Chapter 20: Top-Level Client".

The IRMARegistryID inteface contains the IRMARegistryID::GetID method.

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

IRMARegistryID::GetID

Gets the registry ID of the object.


STDMETHOD(GetID) (
THIS_
REF(UINT32) ulRegistryID
) PURE;
ulRegistryID
Returns the registry ID.

IRMARenderer

Purpose: Relays client instructions to the renderer
Implemented by: Rendering plug-in
Used by: RealSystem Client
Header file: rmarendr.h

All rendering plug-ins implement this interface, which manages header and packet reception, as well as stream status information. The interface receives data packets for a particular stream of a presentation and "renders" that data synchronized with the playback timeline. To fulfill this role, the renderer is given access to all status events of the timeline, including current playback time.

Additional Information
See "Chapter 6: Rendering Plug-In".

The IRMARenderer interface contains the following methods:

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

IRMARenderer::EndStream

Informs the renderer that the stream is was rendering is completed. This method should include any deallocation of resources.


STDMETHOD(EndStream) (
THIS
) PURE;

IRMARenderer::GetDisplayType

Returns the preferred display type for the renderer. When layout information is not present, the renderer is asked for its preferred display type. Depending on the display type, a buffer of additional information may be needed. This buffer could contain information about preferred window size. This method is called when the plug-in is being initialized.


STDMETHOD(GetDisplayType) (
THIS_
REF(RMA_DISPLAY_TYPE) ulFlags,
REF(IRMABuffer*) pBuffer
) PURE;
ulFlags
Returns the preferred display type. One of the following:

pBuffer
Returns an IRMABuffer interface that manages any required additional information. This parameter is reserved for future use, and should be NULL

IRMARenderer::GetRendererInfo

Returns critical information to associate this rendering plug-in with a given stream MIME type. This information tells the RMA core which renderer to use to display a particular type of stream. This method is called when the RMA core application is launched.


STDMETHOD(GetRendererInfo) (
THIS_
REF(const char**) pStreamMimeTypes,
REF(UINT32) unInitialGranularity
) PURE;
pStreamMimeTypes
Returns a pointer to a pointer that indicates which stream MIME types the renderer handles. The client uses this information when determining which renderer to use for a stream.

unInitialGranularity
Returns a value that indicates how often the renderer wants to receive timeline synchronization information from the client. The minimum time is 20 milliseconds.

IRMARenderer::OnBegin

Informs the renderer that a begin or resume has just occurred.


STDMETHOD(OnBegin) (
THIS_
ULONG32 ulTime
) PURE;
ulTime
The first time for the stream's time line after the resume, in milliseconds. This value is zero if the stream is just beginning.

IRMARenderer::OnBuffering

Informs the renderer that buffering of data is occurring. The render is informed of the reason for the buffering (start-up of stream, seek has occurred, network congestion, and so on), as well as percentage complete of the buffering process.


STDMETHOD(OnBuffering) (
THIS_
ULONG32 ulFlags,
UINT16 unPercentComplete
) PURE;
ulFlags
The reason for buffering. One of the following:

unPercentCompleted
The percentage of the buffering process that has been completed.

IRMARenderer::OnEndOfPackets

Informs the renderer that all the packets have been delivered. However, if the user seeks before IRMARenderer::EndStream is called, the renderer may start getting packets again, and the client engine will eventually call this function again.


STDMETHOD(OnEndofPackets) (
THIS
) PURE;

IRMARenderer::OnHeader

Retrieves a pointer to the stream header that was created by the file format plug-in. The client engine calls this method when a header for this renderer is available. The header arrives before any packets. This method is called when the plug-in is being initialized.


STDMETHOD(OnHeader) (
THIS_
IRMAValues* pHeader
) PURE;
pHeader
Pointer to an IRMAValues interface that manages the stream header data for this renderer.

IRMARenderer::OnPacket

Retrieves a packet streamed by the associated file format plug-in. The client engine calls this method when a packet for this renderer is ready (or should be ready, but is lost). In most cases, the actual rendering of the packet is done in this method.


STDMETHOD(OnPacket) (
THIS_
IRMAPacket* pPacket,
LONG32 lTimeOffset
) PURE;
pPacket
Pointer to an IRMAPacket interface that manages the packet from the file format plug-in.

lTimeOffset
The packet's time offset from the start of the stream.

IRMARenderer::OnPause

Informs the renderer that a pause has just occurred.


STDMETHOD(OnPause) (
THIS_
ULONG32 ulTime
) PURE;
ulTime
The last time for the stream's time line before the pause.

IRMARenderer::OnPostSeek

Informs the renderer that a seek has just occurred.


STDMETHOD(OnPostSeek) (
THIS_
ULONG32 ulOldTime,
ULONG32 ulNewTime
) PURE;
ulOldTime
The last time for the stream's time line before the seek.

ulNewTime
The first new time for the stream's time line after the seek.

IRMARenderer::OnPreSeek

Informs the renderer that a seek is about to occur.


STDMETHOD(OnPreSeek) (
THIS_
ULONG32 ulOldTime,
ULONG32 ulNewTime
) PURE;
ulOldTime
The last time for the stream's time line before the seek.

ulNewTime
The first new time for the stream's time line after the seek is completed.

IRMARenderer::OnTimeSync

Informs the renderer of the current time relative to the stream's synchronized time-line. The renderer should use this time value to update its display or render its stream data accordingly.


STDMETHOD(OnTimeSync) (
THIS_
ULONG32 ulTime
) PURE;
ulTime
The current time relative to the stream's synchronized time-line.

IRMARenderer::StartStream

Informs the renderer of the stream it will be rendering. The stream interface can provide access to its source or player. This method also provides access to the primary client controller interface. This method is called when the plug-in is being intialized.


STDMETHOD(StartStream) (
THIS_
IRMAStream* pStream,
IRMAPlayer* pPlayer
) PURE;
pStream
Pointer to an IRMAStream interface that manages the stream that is to be rendered.

pPlayer
Pointer to an IRMAPlayer interface that manages the plug-in's access to the client.

Additional Information
See "Initializing".

IRMARequest

Purpose: Controls the URL request object
Implemented by: Request object (RealSystem architecture)
Used by: File format plug-ins, file objects, broadcast objects
Header file: rmafiles.h

The request object contains the URL for the client request, along with the request headers and the optional response headers. Plug-ins can use the IRMARequest::GetURL and IRMARequest::SetResponseHeaders methods to get the request's fully qualified path and associate response headers with the request object, respectively. Through the response headers a plug-in can send the client any information.

Additional Information
See "Modifying the Response Headers".

The IRMARequest interface contains the following methods:

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

IRMARequest::GetRequestHeaders

Gets the headers that were sent in the RFC822 header section of the request message.


STDMETHOD(GetRequestHeaders) (
THIS_
REF(IRMAValues*) pRequestHeaders
) PURE;
pRequestHeaders
Returns a pointer to an IRMAValues interface that manages the header information.

IRMARequest::GetResponseHeaders

Gets the headers that were returned in the RFC822 header section of the response message.


STDMETHOD(GetResponseHeaders) (
THIS_
REF(IRMAValues*) pResponseHeaders
) PURE;
pResponseHeaders
Returns a pointer to an IRMAValues interface that manages the header information.

IRMARequest::GetURL

Returns the fully qualified path associated with a file object. On the server, this path does not include the file system mount point.


STDMETHOD(GetURL) (
THIS_
REF(const char*) pURL
) PURE;
pURL
Returns a pointer to the fully-qualified path associated with the file object.

Note
The returned pointer's lifetime expires as soon as the caller returns from a function that was called from the RMA core (that is, when you return control to the RMA core).

IRMARequest::SetRequestHeaders

Sets the headers that are to be sent in the RFC822 header section of the request message.


STDMETHOD(SetRequestHeaders) (
THIS_
IRMAValues* pRequestHeaders
) PURE;
pRequestHeaders
Pointer to an IRMAValues interface that manages the header information.

IRMARequest::SetResponseHeaders

Sets the headers that are to be returned in the RFC822 header section of the response message.


STDMETHOD(SetResponseHeaders) (
THIS_
IRMAValues* pResponseHeaders
) PURE;
pResponseHeaders
Pointer to an IRMAValues interface that manages the header information.

IRMARequest::SetURL

Sets the fully-qualified path associated with a file object. On the server, this path does not include the file system mount point.


STDMETHOD(SetURL) (
THIS_
const char* pURL
) PURE;
pURL
Pointer to the fully-qualified path associated with the file object.

IRMARequestContext

Purpose: Manages the context of the request
Implemented by: Information not yet available at publication.
Used by: Information not yet available at publication.
Header file: rmafiles.h

The IRMARequestContext interface contains the following methods:

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

IRMARequestContext::GetRequester

Gets the object that made the request.


STDMETHOD(GetRequester) (
THIS_
REF(IUnknown*) pIUnknownCurrentRequester
) PURE;
pIUnknownCurrentRequester
Information not yet available at publication.

IRMARequestContext::GetUserContext

Gets the authenticated user's context.


STDMETHOD(GetUserContext) (
THIS_
REF(IUnknown*) pIUnknownCurrentContext
) PURE;
pIUnknownCurrentContext
Information not yet available at publication.

IRMARequestContext::SetRequester

Sets the object that made the request.


STDMETHOD(SetRequester) (
THIS_
IUnknown* pIUnknownNewRequester
) PURE;
pIUnknownNewRequester
Information not yet available at publication.

IRMARequestContext::SetUserContext

Sets the authenticated user's context.


STDMETHOD(SetUserContext) (
THIS_
IUnknown* pIUnknownNewContext
) PURE;
pIUnknownNewContext
Information not yet available at publication.

IRMARequestHandler

Purpose: Associates objects with request objects
Implemented by: File objects and broadcast objects
Used by: RealServer
Header file: rmafiles.h

A file object or broadcast object implements this interface to receive a pointer to a request object. It can then use IRMARequest to get the request URL or modify the object's response headers. File format plug-ins do not need to implement this interface because they receive the request object pointer during initialization.

Additional Information
See "Chapter 7: File System Plug-In" or "Chapter 8: Broadcast Plug-in".

The IRMARequestHandler interface contains the following methods:

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

IRMARequestHandler::GetRequest

Gets the IRMARequest interface associated with an object.


STDMETHOD(GetRequest) (
THIS_
REF(IRMARequest*) pRequest
) PURE;
pRequest
Returns a pointer to the indicated IRMARequest interface.

IRMARequestHandler::SetRequest

Associates an IRMARequest interface with an object.


STDMETHOD(SetRequest) (
THIS_
IRMARequest* pRequest
) PURE;
pRequest
Pointer to an IRMARequest interface to associate with the object.

IRMAResolver

Purpose: Resolves the DNS host name to an IP address
Implemented by: Resolver object (Network Services)
Used by: Any component
Header file: rmaengin.h

Any component that needs to resolve a DNS host name into an IP address can use this interface. The component first creates a resolver object with IRMANetworkServices. It then specifies the DNS name with this interface. The resolver object then uses IRMAResolverResponse to pass the component a four-byte IP address in native byte order.

Additional Information
See "Chapter 14: Network Services".

The IRMAResolver interface contains the following methods:

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

IRMAResolver::GetHostByName

Gets the DNS host name.


STDMETHOD(GetHostByName) (
THIS_
const char* pHostName
) PURE;
pHostName
Pointer to the DNS host name.

IRMAResolver::Init

Associates a resolver response interface with this interface.


STDMETHOD(Init) (
THIS_
IRMAResolverResponse* pResponse
) PURE;
pResponse
Pointer to an IRMAResolverResponse interface that returns the resolved information to the calling component.

IRMAResolverResponse

Purpose: Returns the IP address for a resolved DNS host name
Implemented by: Any component
Used by: Resolver object (Network Services)
Header file: rmaengin.h

This is the response interface to IRMAResolver. Through it a component receives a four-byte IP address in native byte order for a specified DNS host name.

Additional Information
See "Chapter 14: Network Services".

The IRMAResolverResponse interface contains the IRMAResolverResponse::GetHostByNameDone method.

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

IRMAResolverResponse::GetHostByNameDone

Contains the IP address that was resolved from the DNS host name.


STDMETHOD(GetHostByNameDone) (
THIS_
PN_RESULT status,
ULONG32 ulAddr
) PURE;
status
The status of the IRMAResolver::GetHostByName operation. A value of PNR_OK indicates the operation has completed successfully

ulAddr
A four-byte IP address in native byte order.

IRMASLTA

Purpose: Simulates a live stream from a file
Implemented by: RealSystem SLTA library
Used by: Stand-alone executables
Header file: rmaslta.h

RealServer includes the standard G2SLTA application that simulates live broadcasts. This interface provides a means of designing custom applications that deviate from the standard application.

Additional Information
See "Simulating a Live Broadcast" in the RealServer Administration Guide and "Simulated Live Transfer Agent (SLTA)".

The IRMASLTA interface contains the following methods:

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

IRMASLTA::Connect

Connects the simulated live transfer agent (SLTA) to a server.


STDMETHOD(Connect) (
THIS_
const char* host,
UINT16 uPort,
const char* username,
const char* passwd,
const char* livefile
) PURE;
host
Pointer to the host to which to connect.

uPort
The port to which to connect.

username
Pointer to the username supplied to make the connection.

passwd
Pointer to the password supplied to make the connection.

livefile
Pointer to the file name of the live stream on the server that will be requested by the player.

IRMASLTA::Disconnect

Disconnects the SLTA from the server.


STDMETHOD(Disconnect) (
THIS
) PURE;

IRMASLTA::Encode

Starts streaming the file to the server.


STDMETHOD(Encode) (
THIS_
const char* filename
) PURE;
filename
Pointer to the name of the file to stream.

IRMASLTA::SetTAC

Sets the title, author, and copyright information for the stream. This method must be called before IRMASLTA::Encode to have any effect.

IRMASLTA::SetTAC overrides the displayed title, author, and copyright. This method does not need to be used unless, for example, you have several items to play and want to override the given title, author, and copyright with your own title, author, and copyright. If you don't use this method, the title, author, and copyright for each individual file will still be displayed.


STDMETHOD(SetTAC) (
THIS_
const char* Title,
const char* Author,
const char* Copyright
) PURE;
Title
Pointer to the title information for the stream.

Author
Pointer to the author information for the stream.

Copyright
Pointer to the copyright information for the stream.

IRMASLTA::SetTargetBandwidth

Sets the target bandwidth for rule subscription. This method should not be used unless you want to purposely override the bandwidth of the stream. Normally, the SLTA sends at whatever bandwidth the connection between the server and client will allow.


STDMETHOD(SetTargetBandwidth) (
THIS_
UINT32 ulTargetBW
) PURE;
ulTargetBW
The target bandwidth, in bits per second.

IRMAScheduler

Purpose: Schedules callbacks
Implemented by: Scheduler (RealSystem architecture)
Used by: Any component
Header file: rmaengin.h

The scheduler is a general-purpose feature that lets RealSystem components schedule work for later servicing, thus enabling "lightweight," cooperative multitasking. A component uses IRMACommonClassFactory to create a scheduler object and then uses the IRMAScheduler methods to set an absolute or relative time for a callback. The callback is provided to the designated callback object through IRMACallback.

Additional Information
See "Using the Scheduler".

The IRMAScheduler interface contains the following methods:

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

IRMAScheduler::AbsoluteEnter

Schedules a callback to be executed at the specified time. Returns the handle to the callback.


STDMETHOD_(CallbackHandle,AbsoluteEnter) (
THIS_
IRMACallback* pCallback,
RMATimeval tVal
) PURE;
pCallback
Pointer to an IRMACallback interface to be executed.

tVal
An RMATimeval structure that contains the relevent time information.

IRMAScheduler::GetCurrentSchedulerTime

Returns the current time (in the timeline of the scheduler) in an RMATimeval structure.


STDMETHOD_(RMATimeval,GetCurrentSchedulerTime) (
THIS
) PURE;

IRMAScheduler::RelativeEnter

Schedules a callback to be executed a specified time from now. Returns the handle to the callback. This method is less percise than IRMAScheduler::AbsoluteEnter and should only be used when accurate timing is not critical.


STDMETHOD_(CallbackHandle,RelativeEnter) (
THIS_
IRMACallback* pCallback,
UINT32 ms
) PURE;
pCallback
Pointer to an IRMACallback interface to be executed.

ms
The number of milliseconds before the callback is executed

IRMAScheduler::Remove

Removes a specified callback from the scheduler.


STDMETHOD(Remove) (
THIS_
CallbackHandle Handle
) PURE;
Handle
The handle of the callback to be removed.

IRMAServerAuthConversation

Purpose: Performs the server side of the authentication protocol
Implemented by: Server authenticator manager, authentication plug-in
Used by: Encoding server, file system, and pay-per-view allowance plug-ins
Header file: rmaauthn.h

This interface manages secure resources that only certain clients can access. Generally, IRMAServerAuthConversation::MakeChallenge is called to pass in RTSP or HTTP headers from the client to try to authenticate (the first call may not have any authentication). Then IRMAServerAuthConversation::IsAuthenticated is used to find out if the client is authenticated yet. If the client is authenticated, IRMAServerAuthConversation::GetUserContent is called to get the information about the user. The response interface is IRMAServerAuthResponse.

The IRMAServerAuthConversation interface contains the following methods:

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

IRMAServerAuthConversation::GetUserContext

Retrieves an object that provides additional information about the user. Generally, this object implements the IRMAUserContext interface, which is useful in NTLM authentication for determining whether a user belongs to a cretain Windows NT administrative group in the NT security model. This object may also implement the IRMAUserImpersonation interface, which allows a Windows NT process to temporarily have the same security as another Windows NT user. In addition, this object may also implement the IRMAUserProperties interface, which can get the user's name for logging or other purposes.


STDMETHOD(GetUserContext) (
THIS_
REF(IUnknown*) pUnknownUser
) PURE;
pUnknownUser
Information not yet available at publication.

IRMAServerAuthConversation::IsAuthenticated

Determines whether the last response from the client completed the authentication successfully. Returns TRUE when the authentication is completed successfully.


STDMETHOD_(BOOL,IsAuthenticated) (
THIS
) PURE;

IRMAServerAuthConversation::MakeChallenge

Creates a challenge for a client. If the request passed in does not contain a response from the client, then it will generate the initial challenge.


STDMETHOD(MakeChallenge) (
THIS_
IRMAServerAuthResponse* pServerAuthResponseRequester,
IRMARequest* pRequestResponseHeaders
) PURE;
pServerAuthResponseRequester
Pointer to an IRMAServerAuthResponse interface that manages the responses generated by this method.

pRequestResponseHeaders
Pointer to an IRMARequest interface that manages the request for a secured URL. If this is the initial request for the URL, this method probably doesn't have any credentials from the client.

IRMAServerAuthResponse

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: rmaauthn.h

The IRMAServerAuthResponse interface contains the IRMAServerAuthResponse::ChallengeReady method.

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

IRMAServerAuthResponse::ChallengeReady

Reports the success or failure of IRMAServerAuthConversation::MakeChallenge.


STDMETHOD(ChallengeReady) (
THIS_
PN_RESULT ResultStatus,
IRMARequest* pRequestChallengeHeaders
) PURE;
ResultStatus
The status of the IRMAServerAuthConversation::MakeChallenge operation. A value of PNR_OK indicates the operation has completed successfully.

pRequestResponseHeaders
Pointer to an IRMARequest interface that manages the request challenge headers. This IRMARequest interface should be the same as that passed in IRMAServerAuthConversation::MakeChallenge, and should contain CString values for each MIME header that needs to be sent to the client.

IRMAServerControl

Purpose: Terminates all connections and shuts down the RealMedia server
Implemented by: Information not yet available at publication.
Used by: Information not yet available at publication.
Header file: rmacomm.h

The IRMASeverControl interface contains the IRMAServerControl::ShutdownServer method.

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

IRMAServerControl::ShutdownServer

Shuts down the server.


STDMETHOD(ShutdownServer) (
THIS_
UINT32 status
) PURE;
status
Information not yet available at publication.

IRMAServerControl2

Purpose: Terminates all connections and shuts down the RealMedia server
Implemented by: Information not yet available at publication.
Used by: Information not yet available at publication.
Header file: rmacomm.h

The IRMAServerControl2 interface contains the following methods:

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

IRMAServerControl2::ReconfigServer

Causes the server to re-read in the configuration from a file or registry (however it was started) and attempt to use the values.


STDMETHOD(ReconfigServer) (
THIS_
IRMAReconfigServerResponse* pResp
) PURE;
pResp
Pointer to an IRMAReconfigServerResponse interface that manages the response to this method.

IRMAServerControl2::RestartServer

Directs the server to completely shut down, then restart. This method is mainly used to cause not hot-setting configuration variable changes to take effect.


STDMETHOD(RestartServer) (
THIS
) PURE;

IRMAServerFork

Purpose: Forks off UNIX processes
Implemented by: RealSystem architecture
Used by: UNIX plug-ins
Header file: rmacomm.h

On UNIX platforms, this interface lets plug-ins fork off processes. A forked process cannot use any RealSystem interfaces, however. See rmacomm.h for more information.

The IRMAServerFork interface contains the IRMAServerFork::Fork method.

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

IRMAServerFork::Fork

Forks off a child process. The child process cannot use any RMA APIs. Upon successful completion, this method returns 0 to the child process and the PID of the child to the parent. A return value of -1 indicates an error.


STDMETHOD_(INT32, Fork) (
THIS
) PURE;

Note
The child process should not release (IUnknown::Release) any interfaces. The cleanup of the IRMAServerFork interface and other RMA interfaces is done by the parent.

IRMASetSocketOption

Purpose: Sets the socket option
Implemented by: Information not yet available at publication.
Used by: Information not yet available at publication.
Header file: rmaengin.h

The IRMASetSocketOption interface contains the IRMASetSocketOption::SetOption method.

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

IRMASetSocketOption::SetOption

Information not yet available at publication.


STDMETHOD(SetOption) (
THIS_
PN_SOCKET_OPTION option,
UINT32 ulValue
) PURE;
option
One of the following:

ulValue
Information not yet available at publication.

IRMASite

Purpose: Controls site rendering
Implemented by: Site object (Client core)
Used by: Display renderer
Header file: rmawin.h

This is the main interface to a site in which a display rendering plug-in renders data. The methods in this interface let the plug-in control the site size and position, attach site watches with IRMASiteWatcher, and create child windows.

Additional Information
See "Chapter 12: Sites (Windowing)".

The IRMASite interface contains the following methods:

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

IRMASite::AttachUser

Associates a site user interface with this site.


STDMETHOD(AttachUser) (
THIS_
IRMASiteUser* pUser
) PURE;
pUser
Pointer to an IRMASiteUser interface associated with this site.

IRMASite::AttachWatcher

Associates a site watcher interface to the current site.


STDMETHOD(AttachWatcher) (
THIS_
IRMASiteWatcher* pWatcher
) PURE;
pWatcher
Pointer to an IRMASiteWatcher interface that is being associated with the current site.

IRMASite::CreateChild

Creates a child site associated with the current site.


STDMETHOD(CreateChild) (
THIS_
REF(IRMASite*) pChildSite
) PURE;
pChildSite
Returns a pointer to an IRMASite interface that manages the child site.

IRMASite::DamageRect

Sets aside a rectangle to be filled in in the future.


 STDMETHOD(DamageRect) (
THIS_
PNxRect rect
) PURE;
rect
A PNxRect structure that defines the rectangle.

IRMASite::DamageRegion

Sets aside a region (a collection of rectangles) to be filled in in the future.


 STDMETHOD(DamageRegion) (
THIS_
PNxRegion region
) PURE;
region
A PNxRegion that defines the region.

IRMASite::DestroyChild

Removes the indicated child site.


 STDMETHOD(DestroyChild) (
THIS_
IRMASite* pChildSite
) PURE;
pChildSite
Pointer to an IRMASite interface that manages the child site to be removed.

IRMASite::DetachUser

Detaches the site user from the site.


STDMETHOD(DetachUser) (
THIS
) PURE;

IRMASite::DetachWatcher

Detaches the site watcher from the site.


 STDMETHOD(DetachWatcher) (
THIS
) PURE;

IRMASite::ForceRedraw

Forces a redraw of the site.


 STDMETHOD(ForceRedraw) (
THIS
) PURE;

IRMASite::GetPosition

Gets the current position.


STDMETHOD(GetPosition) (
THIS_
REF(PNxPoint) position
) PURE;
position
Returns a PNxPoint structure that indicates the current position.

IRMASite::GetSize

Gets the size of the site.


STDMETHOD(GetSize) (
THIS_
REF(PNxSize) size
) PURE;
size
Returns a PNxSize structure that indicates the size of the site.

IRMASite::GetUser

Gets the site user associated with this site.


STDMETHOD(GetUser) (
THIS_
REF(IRMASiteUser*) pUser
) PURE;
pUser
Returns a pointer to an IRMASiteUser interface that manages the user.

IRMASite::SetPosition

Sets the position on the site. Site users should not generally call this method.


STDMETHOD(SetPosition) (
THIS_
PNxPoint position
) PURE;
position
A PNxPoint structure that defines the point to set the position.

IRMASite::SetSize

Sets the size of the site.


 STDMETHOD(SetSize) (
THIS_
PNxSize size
) PURE;
size
A PNxSize structure that contains the size, in pixels.

IRMASite2

Purpose: Controls site rendering
Implemented by: Site object (Client core)
Used by: Display renderer
Header file: rmasite2.h

This interface complements the IRMASite interface, permitting cross-platform image rendering.

Additional Information
See IRMAVideoSurface.

The IRMASite2 interface contains the following methods:

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

IRMASite2::AddPassiveSiteWatcher

Adds a watcher that does not affect the site.


STDMETHOD(AddPassiveSiteWatcher) (
THIS_
IRMAPassiveSiteWatcher* pWatcher
) PURE;
pWatcher
Pointer to an IRMAPassiveSiteWatcher interface that the site notifies of a site change.

IRMASite2::GetNumberOfChildSites

Returns the number of child sites.


STDMETHOD_(UINT32,GetNumberOfChildSites) (
THIS
) PURE;

IRMASite2::GetVideoSurface

Gets the site's video surface.


STDMETHOD(GetVideoSurface) (
THIS_
REF(IRMAVideoSurface*) pSurface
) PURE;
pSurface
Returns a pointer to an IRMAVideoSurface interface that manages the video surface.

IRMASite2::GetZOrder

Gets the site's Z-order.


STDMETHOD(GetZOrder) (
THIS_
REF(INT32) lZOrder
) PURE;
lZOrder
Returns the site's Z-order.

IRMASite2::IsSiteVisible

Indicates whether the site is visible. If this method returns TRUE, the site is visible.


STDMETHOD_(BOOL, IsSiteVisible) (
THIS
) PURE;

IRMASite2::MoveSiteToTop

Sets the site at the top of the Z-order.


STDMETHOD(MoveSiteToTop) (
THIS
) PURE;

IRMASite2::RemovePassiveSiteWatcher

Removes a watcher that does not affect the site.


STDMETHOD(RemovePassiveSiteWatcher) (
THIS_
IRMAPassiveSiteWatcher* pWatcher
) PURE;
pWatcher
Pointer to the IRMAPassiveSiteWatcher interface to remove.

IRMASite2::SetCursor

Sets the cursor type. Not currently implemented.


STDMETHOD(SetCursor) (
THIS_
PNxCursor ulCursor,
REF(PNxCursor) ulOldCursor
) PURE;
ulCursor
A PNxCursor that defines the new cursor type.

ulOldCursor
Returns a PNxCursor that defines the previous cursor type.

IRMASite2::SetZOrder

Sets the site's Z-order.


STDMETHOD(SetZOrder) (
THIS_
INT32 lZOrder
) PURE;
lZOrder
The site's Z-order.

IRMASite2::ShowSite

Shows or hides a site.


STDMETHOD(ShowSite) (
THIS_
BOOL bShow
) PURE;
bShow
If TRUE, the site is shown. If FALSE, the site is hidden.

IRMASite2::UpdateSiteWindow

Updates the site window attributes (such as the window handle, position, size, and so on) after they have been changed.


STDMETHOD(UpdateSiteWindow) (
THIS_
PNxWindow* pWindow
) PURE;
pWindow
A pointer to a PNxWindow structure that contains the new attributes.

IRMASiteFullScreen

Purpose: Turns the full-screen mode on or off
Implemented by: Client core
Used by: top-level client
Header file: rmawin.h

Interface implemented by the client core for use by the top-level client.

Additional Information
See "Chapter 12: Sites (Windowing)".

The IRMASiteFullScreen interface contains the following methods:

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

IRMASiteFullScreen::EnterFullScreen

Enters full-screen mode.


STDMETHOD(EnterFullScreen) (
THIS
) PURE;

IRMASiteFullScreen::ExitFullScreen

Exits full-screen mode.


STDMETHOD(ExitFullScreen) (
THIS
) PURE;

IRMASiteFullScreen::IsFullScreen

Indicates the site is in full-screen mode.


STDMETHOD_(BOOL, IsFullScreen) (
THIS
) PURE;

IRMASiteFullScreen::TestFullScreen

Tests the full-screen mode by displaying a bitmap and determining how fast it can blit.


STDMETHOD(TestFullScreen) (
THIS_
void* hTestBitmap,
const char* pszStatusText
) PURE;
hTestBitmap
Pointer to the bitmap to be blitted.

pszStatusText
Pointer to the text that is displayed at the bottom of the test screen.

IRMASiteManager

Purpose: Informs the site manager of new or removed sites
Implemented by: Client core
Used by: top-level client
Header file: rmawin.h

Interface implemented by the client core for use by the top-level client.

The IRMASiteManager interface contains the following methods:

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

IRMASiteManager::AddSite

Informs the site manager of the existance of a site.


STDMETHOD(AddSite) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that manages the site that was added.

IRMASiteManager::RemoveSite

Informs the site manager that a site is no longer available.


STDMETHOD(RemoveSite) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that managed the site that was removed.

IRMASiteSupplier

Purpose: Informs the top-level client when sites are needed or changed
Implemented by: Top-level client
Used by: Client core
Header file: rmawin.h

Interface implemented by the top-level client for use by the client core.

Additional Information
See "Chapter 12: Sites (Windowing)".

The IRMASiteSupplier interface contains the following methods:

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

IRMASiteSupplier::BeginChangeLayout

Informs the site supplier a layout change has begun and that it can expect to receive calls to the IRMASiteSupplier::SitesNeeded and IRMASiteSupplier::SitesNotNeeded methods while a layout change is in progress.


STDMETHOD(BeginChangeLayout) (
THIS
) PURE;

IRMASiteSupplier::DoneChangeLayout

Informs the site supplier the layout change has been completed.


STDMETHOD(DoneChangeLayout) (
THIS
) PURE;

IRMASiteSupplier::SitesNeeded

Informs the site supplier that a site with a particular set of characteristics is needed. If the site supplier can fulfill the request, it should call the site manager and add one or more new sites. The request for sites is associated with a request ID. The client core will inform the site supplier when this requested site is no longer needed.


STDMETHOD(SitesNeeded) (
THIS_
UINT32 uReqestID,
IRMAValues* pSiteProps
) PURE;
uReqestID
The request ID.

pSiteProps
Pointer to an IRMAValues interface that manages the site properties for the requested sites.

IRMASiteSupplier::SitesNotNeeded

Informs the site supplier that all sites from a previous site request are no longer needed. If the site supplier had previously created non-persistant sites (like popup windows) to fulfill a request for sites, it should call the site manager and remove those sites.


STDMETHOD(SitesNotNeeded) (
THIS_
UINT32 uReqestID
) PURE;
uReqestID
The request ID of the site that is no longer needed.

IRMASiteUser

Purpose: Associates a display renderer with a site and informs the renderer of events
Implemented by: Display renderer
Used by: Client core
Header file: rmawin.h

A display rendering plug-in implements this interface, which the client uses to associate the renderer with a site object and inform it of events. The client queries for this interface if, during initialization, the renderer declares itself to use windows. The renderer's response to IRMASiteUser::NeedsWindowedSite determines whether it uses IRMASiteWindowed or IRMASiteWindowless along with IRMASite to render data to the site.

Additional Information
See "Chapter 12: Sites (Windowing)". See also IRMASiteUserSupplier.

The IRMASiteUser interface contains the following methods:

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

IRMASiteUser::AttachSite

Associates a site interface to the site user interface.


STDMETHOD(AttachSite) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that is to be associated with this IRMASiteUser interface.

IRMASiteUser::DetachSite

Removes the site interface that was previously associated with this site user interface.


STDMETHOD(DetachSite) (
THIS
) PURE;

IRMASiteUser::HandleEvent

Informs the renderer of an event.


STDMETHOD(HandleEvent) (
THIS_
PNxEvent* pEvent
) PURE;
pEvent
Pointer to a PNxEvent structure that contains a description of the event.

Additional Information
See "Handling Events".

IRMASiteUser::NeedsWindowedSites

Returns TRUE if the plug-in will render to an operating system-specific window (Windows or Unix). Returns FALSE if the plug-in will render to a windowless site.


STDMETHOD_(BOOL,NeedsWindowedSites) (
THIS
) PURE;

IRMASiteUserSupplier

Purpose: Determines if a renderer is a site supplier to multiple sites
Implemented by: Display renderer
Used by: Client core
Header file: rmawin.h

A display rendering plug-in does not implement this interface if it renders solely in a single site (window). If it supports multiple sites, it responds to the client's query for IRMASiteUserSupplier by querying for that same interface on the Multi-Instance Site User Supplier (MISUS) object, which provides a standard method of rendering to multiple sites. The renderer then renders to a single site (the MISUS object) through IRMASite and IRMASiteWindowless. The MISUS object in turn takes care of the overhead of rendering to the multiple site windows.

Additional Information
See "Supporting Multiple Sites". See also IRMAMultiInstanceSiteUserSupplier.

The IRMASiteUserSupplier interface contains the following methods:

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

IRMASiteUserSupplier::CreateSiteUser

Creates a site user interface.


STDMETHOD(CreateSiteUser) (
THIS_
REF(IRMASiteUser*) pSiteUser
) PURE;
pSiteUser
Returns a pointer to an IRMASiteUser interface that manages the site user.

IRMASiteUserSupplier::DestroySiteUser

Destroys the site user interface.


STDMETHOD(DestroySiteUser) (
THIS_
IRMASiteUser* pSiteUser
) PURE;
pSiteUser
Pointer to the IRMASiteUser interface to destroy.

IRMASiteUserSupplier::NeedsWindowedSites

Returns TRUE if the plug-in needs a windowed site. Returns FALSE if the plug-in does not need a windowed site.


STDMETHOD_(BOOL,NeedsWindowedSites) (
THIS
) PURE;


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