ok, here's what i'm looking at:
i downloaded csharp.
i complied the rs232 file and dropped the dll and xml into the directv library.
i replaced the interop.userxplib.dll file with the ehiUserXp.dll file.
On build I get this:
Error 1 'DirectTvSerialControl.DirectTvMediaStatusSession' does not implement interface member 'ehiUserXp.IMediaStatusSession.MediaStatusChange(ehiUserXp.MEDIASTATUSPROPERTYTAG[], object[])' C:\DirectTVSerialControl_src\DirectTvSerialControl\DirectTvMediaStatusSession.cs 14 15 DirectTvSerialControl
So now I'm trying learn basic programming. I found this:
A class derived from an interface, but the class did not implement one or more of the interface's members. A class must implement all members of interfaces from which it derives or else be declared abstract.
But it doesn't make sense to me because everything looks the same as the interop file on cursory examination.
Again, I'm doing all this to make it work with Vista, because the mytray app doesn't work the way i want it to.
EDIT
This is the problem, I think.
ehiUserXp.IMediaStatusSession.MediaStatusChange(ehiUserXp.MEDIASTATUSPROPERTYTAG[ ], object[ ])
vs. the original call to
UserXpLib.IMediaStatusSession.MediaStatusChange(System.Array, System.Array)
This is the line that would then be causing the problem:
public
void MediaStatusChange(Array Tags, Array Properties)
Somehow, that doesn't work with the new library, and thus doesn't implement the MediaStatusChange method. Is that right? I really have no idea what I'm doing.
here's documentation from the vista mc sd
This is preliminary documentation and subject to change.
The MediaStatusChange method retrieves media status properties.
Syntax
HRESULT MediaStatusChange(
MEDIASTATUSTAGARRAY Tags,
MEDIASTATUSPROPARRAY Properties
);
Parameters
Tags
[in] Array of MEDIASTATUSPROPERTYTAG values identifying properties that have changed.
Properties
[in] Array of VARIANT values, one for each property identified in Tags.
Return Values
Return values are implemented by the component. The method should return S_OK on success.
Requirements
Header: ehmediastatus.idl
Platform: Windows XP Media Center Edition 2004 and later
See Also
I tried copying and pasting the two array lines, but then i get this:
Error 1 The type or namespace name 'MEDIASTATUSTAGARRAY' could not be found (are you missing a using directive or an assembly reference?) C:\DirectTVSerialControl_src\DirectTvSerialControl\DirectTvMediaStatusSession.cs 26 39 DirectTvSerialControl
Programming 101 here, i'm assuming.