home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / graphics / ba / tvxsamp / tvdisp.cpp < prev    next >
C/C++ Source or Header  |  1997-09-03  |  6KB  |  246 lines

  1. // tvdisp.cpp : TV Viewer sample application
  2. //
  3. // Copyright (C) 1997 Microsoft Corporation
  4. // All rights reserved.
  5. //
  6. // This source code is only intended as a supplement to the
  7. // Broadcast Architecture Programmer's Reference.
  8. // For detailed information regarding Broadcast
  9. // Architecture, see the reference.
  10. //
  11.  
  12. #include "stdafx.h"
  13. #include "tvdisp.h"
  14.  
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20.  
  21.  
  22.  
  23. /////////////////////////////////////////////////////////////////////////////
  24. // ITVViewer properties
  25.  
  26. /////////////////////////////////////////////////////////////////////////////
  27. // ITVViewer operations
  28.  
  29. void ITVViewer::SetTVMode(BOOL fTVMode)
  30. {
  31.     static BYTE parms[] =
  32.         VTS_BOOL;
  33.     InvokeHelper(0xfa1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  34.          fTVMode);
  35. }
  36.  
  37. BOOL ITVViewer::IsTVMode()
  38. {
  39.     BOOL result;
  40.     InvokeHelper(0xfa2, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  41.     return result;
  42. }
  43.  
  44. BOOL ITVViewer::IsChannelBarUp()
  45. {
  46.     BOOL result;
  47.     InvokeHelper(0xfa3, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  48.     return result;
  49. }
  50.  
  51. BOOL ITVViewer::IsModalDialogUp()
  52. {
  53.     BOOL result;
  54.     InvokeHelper(0xfa4, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  55.     return result;
  56. }
  57.  
  58. BOOL ITVViewer::IsLoaderActive()
  59. {
  60.     BOOL result;
  61.     InvokeHelper(0xfa5, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  62.     return result;
  63. }
  64.  
  65. DATE ITVViewer::GlobalStartTime()
  66. {
  67.     DATE result;
  68.     InvokeHelper(0xfa6, DISPATCH_METHOD, VT_DATE, (void*)&result, NULL);
  69.     return result;
  70. }
  71.  
  72. DATE ITVViewer::GlobalEndTime()
  73. {
  74.     DATE result;
  75.     InvokeHelper(0xfa7, DISPATCH_METHOD, VT_DATE, (void*)&result, NULL);
  76.     return result;
  77. }
  78.  
  79. LPUNKNOWN ITVViewer::ChannelList()
  80. {
  81.     LPUNKNOWN result;
  82.     InvokeHelper(0xfa8, DISPATCH_METHOD, VT_UNKNOWN, (void*)&result, NULL);
  83.     return result;
  84. }
  85.  
  86. long ITVViewer::ViewerID()
  87. {
  88.     long result;
  89.     InvokeHelper(0xfa9, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
  90.     return result;
  91. }
  92.  
  93. void ITVViewer::WantNumKeys(BOOL fWantNumKeys)
  94. {
  95.     static BYTE parms[] =
  96.         VTS_BOOL;
  97.     InvokeHelper(0xfaa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  98.          fWantNumKeys);
  99. }
  100.  
  101. void ITVViewer::Tune(long lTuningSpace, long lChannelNumber, long lVideoStream, long lAudioStream, LPCTSTR bsIPStream)
  102. {
  103.     static BYTE parms[] =
  104.         VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BSTR;
  105.     InvokeHelper(0xfab, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  106.          lTuningSpace, lChannelNumber, lVideoStream, lAudioStream, bsIPStream);
  107. }
  108.  
  109. void ITVViewer::GetCurrentTuningInfo(long* lTuningSpace, long* lChannelNumber, long* lVideoStream, long* lAudioStream, BSTR* pbsIPAddress)
  110. {
  111.     static BYTE parms[] =
  112.         VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4 VTS_PBSTR;
  113.     InvokeHelper(0xfac, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  114.          lTuningSpace, lChannelNumber, lVideoStream, lAudioStream, pbsIPAddress);
  115. }
  116.  
  117. void ITVViewer::GetPreviousTuningInfo(long* lTuningSpace, long* lChannelNumber, long* lVideoStream, long* lAudioStream, BSTR* pbsIPAddress)
  118. {
  119.     static BYTE parms[] =
  120.         VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4 VTS_PBSTR;
  121.     InvokeHelper(0xfad, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  122.          lTuningSpace, lChannelNumber, lVideoStream, lAudioStream, pbsIPAddress);
  123. }
  124.  
  125. void ITVViewer::SetReminder(LPUNKNOWN pEpisode, BOOL bRecord)
  126. {
  127.     static BYTE parms[] =
  128.         VTS_UNKNOWN VTS_BOOL;
  129.     InvokeHelper(0xfae, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  130.          pEpisode, bRecord);
  131. }
  132.  
  133. BOOL ITVViewer::HasReminder(LPUNKNOWN pEpisode, BOOL bRecord)
  134. {
  135.     BOOL result;
  136.     static BYTE parms[] =
  137.         VTS_UNKNOWN VTS_BOOL;
  138.     InvokeHelper(0xfaf, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  139.         pEpisode, bRecord);
  140.     return result;
  141. }
  142.  
  143. void ITVViewer::DeleteReminder(LPUNKNOWN pEpisode, BOOL bRecord)
  144. {
  145.     static BYTE parms[] =
  146.         VTS_UNKNOWN VTS_BOOL;
  147.     InvokeHelper(0xfb0, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  148.          pEpisode, bRecord);
  149. }
  150.  
  151. BOOL ITVViewer::HasEnhancement(LPUNKNOWN pEpisode)
  152. {
  153.     BOOL result;
  154.     static BYTE parms[] =
  155.         VTS_UNKNOWN;
  156.     InvokeHelper(0xfb1, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  157.         pEpisode);
  158.     return result;
  159. }
  160.  
  161. BOOL ITVViewer::IsCC()
  162. {
  163.     BOOL result;
  164.     InvokeHelper(0xfb2, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  165.     return result;
  166. }
  167.  
  168.  
  169. /////////////////////////////////////////////////////////////////////////////
  170. // ITVControl properties
  171.  
  172. /////////////////////////////////////////////////////////////////////////////
  173. // ITVControl operations
  174.  
  175. BOOL ITVControl::OnIdle()
  176. {
  177.     BOOL result;
  178.     InvokeHelper(0xbb9, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  179.     return result;
  180. }
  181.  
  182. void ITVControl::Tune(long ltsNew, long lcnNew, long lvsNew, long lasNew, LPCTSTR bsIPNew, long ltsPrev, long lcnPrev, long lvsPrev, long lasPrev, LPCTSTR bsIPPrev)
  183. {
  184.     static BYTE parms[] =
  185.         VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BSTR VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BSTR;
  186.     InvokeHelper(0xbba, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  187.          ltsNew, lcnNew, lvsNew, lasNew, bsIPNew, ltsPrev, lcnPrev, lvsPrev, lasPrev, bsIPPrev);
  188. }
  189.  
  190. void ITVControl::TearDown()
  191. {
  192.     InvokeHelper(0xbbb, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  193. }
  194.  
  195. void ITVControl::SyncEvent(long iEvent, LPCTSTR pParm1, LPCTSTR pParm2)
  196. {
  197.     static BYTE parms[] =
  198.         VTS_I4 VTS_BSTR VTS_BSTR;
  199.     InvokeHelper(0xbbc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  200.          iEvent, pParm1, pParm2);
  201. }
  202.  
  203. void ITVControl::EpisodeStatusChanged(long iChange, LPUNKNOWN pEpi)
  204. {
  205.     static BYTE parms[] =
  206.         VTS_I4 VTS_UNKNOWN;
  207.     InvokeHelper(0xbbd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  208.          iChange, pEpi);
  209. }
  210.  
  211. void ITVControl::PowerChange(BOOL bPowerOn, BOOL bUIAllowed)
  212. {
  213.     static BYTE parms[] =
  214.         VTS_BOOL VTS_BOOL;
  215.     InvokeHelper(0xbbf, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  216.          bPowerOn, bUIAllowed);
  217. }
  218.  
  219. void ITVControl::OnTVFocus()
  220. {
  221.     InvokeHelper(0xbc0, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  222. }
  223.  
  224. void ITVControl::SetOutput(LPCTSTR bsDeviceName)
  225. {
  226.     static BYTE parms[] =
  227.         VTS_BSTR;
  228.     InvokeHelper(0xbc1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  229.          bsDeviceName);
  230. }
  231.  
  232. BOOL ITVControl::GetCC()
  233. {
  234.     BOOL result;
  235.     InvokeHelper(0xbc2, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  236.     return result;
  237. }
  238.  
  239. void ITVControl::SetCC(BOOL bCC)
  240. {
  241.     static BYTE parms[] =
  242.         VTS_BOOL;
  243.     InvokeHelper(0xbc3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  244.          bCC);
  245. }
  246.