Click here to Skip to main content
16,005,222 members
Home / Discussions / Article Writing
   

Article Writing

 
GeneralHelp Required on MOLAP Pin
Saady20-Apr-04 15:37
Saady20-Apr-04 15:37 
QuestionHow long for article to appear on the site? Pin
Michael Wolski20-Apr-04 9:35
Michael Wolski20-Apr-04 9:35 
AnswerRe: How long for article to appear on the site? Pin
Michael Wolski21-Apr-04 5:52
Michael Wolski21-Apr-04 5:52 
GeneralRe: How long for article to appear on the site? Pin
Erik Thompson23-Apr-04 8:07
sitebuilderErik Thompson23-Apr-04 8:07 
GeneralRe: How long for article to appear on the site? Pin
coder4rent2-May-04 15:35
coder4rent2-May-04 15:35 
GeneralGO TO HELL, SPAMMER Pin
abhadresh2-May-04 15:39
abhadresh2-May-04 15:39 
Generalimage processing in pocket pc Pin
icem4n20-Apr-04 4:18
icem4n20-Apr-04 4:18 
GeneralMedia center's Media State Aggregation Service in C# Pin
dolimte3519-Apr-04 11:38
sussdolimte3519-Apr-04 11:38 
I am looking at Media State Aggregation Service (MSAS) in the media center SDK. But it all in C++ (the example). It deals with COM and sinks. If some one can create a shell or some samples of the interfaces in C# would help. Just a template of the interfaces with the InterfaceTypeAttributes on top. I am lost and the SDK documentation (http://www.asia.microsoft.com/windowsxp/mediacenter/developer/default.asp) since they dont provide any .net examples. If anyone could help it would help me out alot

[Guid(A70D81F2-C9D2-4053-AF0E-CDEA39BDD1AD)]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
interface IMediaStatusSession
{
void MediaStatusChange(
/* [In] */ ref MEDIASTATUSTAGARRAY Tags,
/* [In] */ ref MEDIASTATUSPROPARRAY Properties)
{

}
}




Retrieving Media Status Information
Media Center implements the media state aggregation service as a COM local server. The MSAS receives media status information from the shell software and distributes it to one or more media status sinks. Typically, a sink uses the media status information to update a front panel display.

Media status information is sent to the sink whenever a property changes. For continuously changing properties such as elapsed time, the property is updated at one-second intervals.

A sink is a COM component that supports the IMediaStatusSink interface and is registered as a member of the CATID_MediaStatusSink {FCB0C2A3-9747-4C95-9D02-820AFEDEF13F} component category. When the MSAS starts, it creates every sink in this category and calls the IMediaStatusSink::Initialize method on each of them.

The MSAS creates three types of sessions to manage the reporting of Media Center status: the global session, media sessions, and other sessions. The global session is created when Media Center starts, and is destroyed when Media Center closes. It reports general status information such as the volume level and the user's navigation activity. The MSAS creates a media session for each media activity, such as recording a TV show, playing a CD, starting a slide show, and so on. A media session opens when a media activity starts, and closes when a new media activity is started. Other sessions are created by other Media Center components when they start, such the TV and the tuner.

Whenever a media session begins, the MSAS calls the IMediaStatusSink::CreateSession method for each sink. When CreateSession is called, the sink creates an object that supports the IMediaStatusSession interface and passes this interface back to the MSAS.

When new media status information is available, the MSAS passes it to the sink by calling the sink's IMediaStatusSession::MediaStatusChange method. The parameters to this method are arrays of property tags (defined in the MEDIASTATUSPROPERTYTAG enumeration) and corresponding values.

The current state of a media status source is the sum of the information in the session. The sink examines all changed properties and compares these with the current state to determine what changes are needed in the display. For example, in a session relating to the playback of a CD, the sink might first receive a media status change event indicating the duration of a track, and this event would be followed at regular intervals by events specifying the elapsed time of the track. The sink can use this information to display the time remaining in the track.

When a session is closed (releasing the final COM reference), the sink should assume that all previously announced information has become invalid, and no state from that session should be displayed.

Announcements in one session never depend on information from announcements in any other session.

Many sessions may be opened and closed during the lifetime of a single application. For example, Media Center opens, uses, and then closes a session for each CD, DVD, or playlist that is played, plus one for the application itself. The application session remains active as long as Media Center is running, but the media-related sessions are open only as long as the CD, DVD, or playlist is active.

//////////////////////////////////////////////////////////////////////////////

IMediaStatusSession Interface
The IMediaStatusSession interface is implemented by the sink component on an object representing a media status session. The MSAS uses this interface to pass media status properties to the sink.

In addition to the methods inherited from IDispatch, the IMediaStatusSession interface exposes the following methods.


///////////////////////////////////////////////////////////////////////////////
IMediaStatusSink Interface
The IMediaStatusSink interface is used by the MSAS to initialize the sink and to create a media status session. The sink must implement this interface.

In addition to the methods inherited from IDispatch, the IMediaStatusSink interface exposes the following methods.





GeneralProject topic Pin
cool_guy_jack17-Apr-04 8:59
cool_guy_jack17-Apr-04 8:59 
GeneralRe: Project topic Pin
Colin Angus Mackay19-Apr-04 12:56
Colin Angus Mackay19-Apr-04 12:56 
GeneralChange language of any dll file and Control Panel ext... Pin
xllx15-Apr-04 13:32
xllx15-Apr-04 13:32 
GeneralRe: Change language of any dll file and Control Panel ext... Pin
Dave Kreskowiak8-Jun-04 9:27
mveDave Kreskowiak8-Jun-04 9:27 
GeneralMicrosoft SQL Reporting Services Pin
Figuerres14-Apr-04 5:57
Figuerres14-Apr-04 5:57 
GeneralStore an article with all its threads Pin
JacMax13-Apr-04 4:09
JacMax13-Apr-04 4:09 
GeneralAuthorization and Profile Block custom provider Pin
Bryan Ax8-Apr-04 8:52
Bryan Ax8-Apr-04 8:52 
GeneralAbout API Pin
Member 10370732-Apr-04 7:57
Member 10370732-Apr-04 7:57 
GeneralNeed a Microsecond Delay Fnc Pin
toothless boots31-Mar-04 17:02
toothless boots31-Mar-04 17:02 
GeneralRe: Need a Microsecond Delay Fnc Pin
Sarvesvara (BVKS) Dasa6-Apr-04 18:53
Sarvesvara (BVKS) Dasa6-Apr-04 18:53 
GeneralRe: Need a Microsecond Delay Fnc Pin
toothless boots7-Apr-04 8:57
toothless boots7-Apr-04 8:57 
GeneralRe: Need a Microsecond Delay Fnc Pin
patnsnaudy14-Apr-04 12:26
patnsnaudy14-Apr-04 12:26 
GeneralRe: Need a Microsecond Delay Fnc Pin
Lymington22-Apr-04 3:31
Lymington22-Apr-04 3:31 
GeneralRe: Need a Microsecond Delay Fnc Pin
Rick York11-May-04 10:24
mveRick York11-May-04 10:24 
GeneralGame... Pin
Snyp24-Mar-04 14:24
Snyp24-Mar-04 14:24 
GeneralRe: Game... Pin
Prakash Nadar24-Mar-04 17:37
Prakash Nadar24-Mar-04 17:37 
GeneralRe: Game... Pin
Michael Flanakin25-Mar-04 18:35
Michael Flanakin25-Mar-04 18:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.