Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
bdatif.idl
Package: SwordOnline.rar [view]
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 21k
Category:
Game Server Simulator
Development Platform:
C/C++
- //---------------------------------------------------------------------
- //
- // Copyright (c) 1999 Microsoft Corporation
- //
- // BDATIF.idl
- //
- //---------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright (C) Microsoft Corporation, 1999.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- cpp_quote("#if ( _MSC_VER >= 800 )")
- cpp_quote("#pragma warning(disable:4201) /* Nameless struct/union */")
- cpp_quote("#endif")
- cpp_quote("#if ( _MSC_VER >= 1020 )")
- cpp_quote("#pragma once")
- cpp_quote("#endif")
- //---------------------------------------------------------------------
- // IUnknown import idl
- //---------------------------------------------------------------------
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- import "strmif.idl";
- import "tuner.idl";
- #endif
- interface IMPEG2_TIF_CONTROL;
- interface IATSCChannelInfo;
- //******************************************************************************
- //
- // IMPEG2_TIF_CONTROL interface
- //
- // Implemented by the Microsoft ATSC/DVB BDA Network Provider
- //
- // Used by a transport information filter (TIF) to request table
- // sections carried on specific PIDs within the transport stream.
- // The Network Provider Filter will, in turn, do the necessary
- // control on the Demux Filter. All sections are delivered as comlete
- // mpeg2 table sections via the TIF's connection to the Demux Filter.
- //
- [
- object,
- uuid(F9BAC2F9-4149-4916-B2EF-FAA202326862),
- helpstring("BDA Network Provider Inteface for DVB/ATSC Transport Information Filters"),
- pointer_default(unique)
- ]
- interface IMPEG2_TIF_CONTROL : IUnknown
- {
- [helpstring("Used to register a transport analyzer with the Network Provider")]
- HRESULT
- RegisterTIF (
- [in] IUnknown * pUnkTIF,
- [in, out] ULONG * ppvRegistrationContext
- );
- [helpstring("Used to unregister TIF with the Network Provider")]
- HRESULT
- UnregisterTIF (
- [in] ULONG pvRegistrationContext
- );
- [helpstring("Used to add PSI/SI MPEG2 packet IDs to the TIF's data stream")]
- HRESULT
- AddPIDs (
- [in] ULONG ulcPIDs,
- [in] ULONG * pulPIDs
- );
- [helpstring("Used to remove PSI/SI MPEG2 packet IDs from the TIF's data stream")]
- HRESULT
- DeletePIDs (
- [in] ULONG ulcPIDs,
- [in] ULONG * pulPIDs
- );
- [helpstring("Returns the number of MPEG2 Packet IDs being filtered into the TIF's input data.")]
- HRESULT
- GetPIDCount (
- [out] ULONG * pulcPIDs
- );
- [helpstring("Returns the the list of MPEG2 Packet IDs being filtered into the TIF's input data.")]
- HRESULT
- GetPIDs (
- [out] ULONG * pulcPIDs,
- [out] ULONG * pulPIDs
- );
- }
- //******************************************************************************
- //
- // ITuneRequestInfo interface
- //
- // Implemented by a BDA transport information filter (TIF)
- //
- // Used by the BDA Network Provider to obtain network specific
- // information about locating transport streams and aquiring
- // services.
- //
- //
- // GetLocatorData -
- //
- // GetComponentData -
- //
- // CreateComponentList -
- //
- // GetNextService -
- //
- // GetPreviouService -
- //
- // GetNextLocator -
- //
- // GetPreviousLocator -
- //
- [
- object,
- uuid(A3B152DF-7A90-4218-AC54-9830BEE8C0B6),
- helpstring("Interface provided by the Mpeg2 Transport Information Filter to supply tuning details."),
- pointer_default(unique)
- ]
- interface ITuneRequestInfo : IUnknown
- {
- [helpstring("TIF fills in channel/program locator information for the given tune request.")]
- HRESULT
- GetLocatorData (
- [in] ITuneRequest *Request
- );
- [helpstring("TIF fills in all network specific component data for the existing component list on the given tune request.")]
- HRESULT
- GetComponentData (
- [in] ITuneRequest *CurrentRequest
- );
- [helpstring("TIF creates a complete component list and fills in all network specific component data on the given tune request")]
- HRESULT
- CreateComponentList (
- [in] ITuneRequest *CurrentRequest
- );
- [helpstring("TIF creates a new TuneRequest with channel/program locator information for the next service.")]
- HRESULT
- GetNextProgram (
- [in] ITuneRequest *CurrentRequest,
- [out, retval] ITuneRequest **TuneRequest
- );
- [helpstring("TIF creates a new TuneRequest with channel/program locator information for the previous service.")]
- HRESULT
- GetPreviousProgram (
- [in] ITuneRequest *CurrentRequest,
- [out, retval] ITuneRequest **TuneRequest
- );
- [helpstring("TIF creates a new TuneRequest with locator information for the next transport stream.")]
- HRESULT
- GetNextLocator (
- [in] ITuneRequest *CurrentRequest,
- [out, retval] ITuneRequest **TuneRequest
- );
- [helpstring("TIF creates a new TuneRequest with locator information for the previous transport stream.")]
- HRESULT
- GetPreviousLocator (
- [in] ITuneRequest *CurrentRequest,
- [out, retval] ITuneRequest **TuneRequest
- );
- }
- //******************************************************************************
- //
- // IGuideDataEvent
- //
- // This is the guide data event notification callback interface. The
- // callback interface is registered on a transport analyzer's
- // IConnectionPoint by the event consumer.
- //
- // The event consumer MUST NOT BLOCK THE CALLING THREAD.
- //
- // If the consumer requires additional information about the event, it
- // should queue the event to a separate thread.
- //
- // {EFDA0C80-F395-42c3-9B3C-56B37DEC7BB7}
- //
- [
- object,
- uuid(EFDA0C80-F395-42c3-9B3C-56B37DEC7BB7),
- helpstring("Consumers of a guide data events must implement this callback interface."),
- pointer_default(unique)
- ]
- interface IGuideDataEvent : IUnknown
- {
- // Indicates that a complete set of guide data has been acquire from
- // the current transport stream.
- //
- // MANDATORY - If a transport analyzer supports IGuideDataEvent then
- // it must supply this event.
- //
- HRESULT GuideDataAcquired(
- );
- // Indicates that information about one or more programs changed.
- //
- // If varProgramDescriptionID is NULL then the consumer
- // must get properties for all programs to determine which ones
- // changed.
- //
- // MANDATORY - If a transport analyzer supports IGuideDataEvent then
- // it must supply this event.
- //
- HRESULT ProgramChanged(
- [in] VARIANT varProgramDescriptionID
- );
- // Indicates that information about one or more services changed.
- //
- // If varServiceDescriptionID is NULL then the consumer
- // must get properties for all services to determine which ones
- // changed.
- //
- // MANDATORY - If a transport analyzer supports IGuideDataEvent then
- // it must supply this event.
- //
- HRESULT ServiceChanged(
- [in] VARIANT varServiceDescriptionID
- );
- // Indicates that information about one or more schedule entries
- // changed.
- //
- // If varScheduleEntryDescriptionID is NULL then the consumer
- // must get properties for all schedule entries to determine which ones
- // changed.
- //
- // MANDATORY - If a transport analyzer supports IGuideDataEvent then
- // it must supply this event.
- //
- HRESULT ScheduleEntryChanged(
- [in] VARIANT varScheduleEntryDescriptionID
- );
- // Indicates that the program with the given Description.ID
- // has been deleted.
- //
- //
- // Optional - Transport analyzer may supply this event. Consumer
- // may return E_NOTIMPL.
- //
- HRESULT ProgramDeleted(
- [in] VARIANT varProgramDescriptionID
- );
- // Indicates that the service with the given Description.ID
- // has been deleted.
- //
- //
- // Optional - Transport analyzer may supply this event. Consumer
- // may return E_NOTIMPL.
- //
- HRESULT ServiceDeleted(
- [in] VARIANT varServiceDescriptionID
- );
- // Indicates that the schedule entry with the given Description.ID
- // has been deleted.
- //
- //
- // Optional - Transport analyzer may supply this event. Consumer
- // may return E_NOTIMPL.
- //
- HRESULT ScheduleDeleted(
- [in] VARIANT varScheduleEntryDescriptionID
- );
- }
- //******************************************************************************
- //
- // IGuideDataPropery
- //
- // {88EC5E58-BB73-41d6-99CE-66C524B8B591}
- //
- [
- object,
- uuid(88EC5E58-BB73-41d6-99CE-66C524B8B591),
- helpstring("Interface provided by a transport analyzer to represent a guide data property."),
- pointer_default(unique)
- ]
- interface IGuideDataProperty : IUnknown
- {
- [propget] HRESULT Name([out] BSTR *pbstrName);
- [propget] HRESULT Language([out] long *idLang);
- [propget] HRESULT Value([out] VARIANT *pvar);
- }
- //******************************************************************************
- //
- // IEnumGuideDataProperties
- //
- // {AE44423B-4571-475c-AD2C-F40A771D80EF}
- //
- [
- object,
- uuid(AE44423B-4571-475c-AD2C-F40A771D80EF),
- helpstring("Interface provided by a transport analyzer to enumerate guide data properties."),
- pointer_default(unique)
- ]
- interface IEnumGuideDataProperties : IUnknown
- {
- HRESULT Next([in] unsigned long celt, [out] IGuideDataProperty **ppprop, [out] unsigned long *pcelt);
- HRESULT Skip([in] unsigned long celt);
- HRESULT Reset();
- HRESULT Clone([out] IEnumGuideDataProperties **ppenum);
- }
- //******************************************************************************
- //
- // IEnumTuneRequests
- //
- // {1993299C-CED6-4788-87A3-420067DCE0C7}
- //
- [
- object,
- uuid(1993299C-CED6-4788-87A3-420067DCE0C7),
- helpstring("Interface provided by a transport analyzer to enumerate service tune requests ."),
- pointer_default(unique)
- ]
- interface IEnumTuneRequests : IUnknown
- {
- HRESULT Next([in] unsigned long celt, [out] ITuneRequest **ppprop, [out] unsigned long *pcelt);
- HRESULT Skip([in] unsigned long celt);
- HRESULT Reset();
- HRESULT Clone([out] IEnumTuneRequests **ppenum);
- }
- //******************************************************************************
- //
- // IGuideData
- //
- // {61571138-5B01-43cd-AEAF-60B784A0BF93}
- //
- [
- object,
- uuid(61571138-5B01-43cd-AEAF-60B784A0BF93),
- helpstring("Interface provided by a transport analyzer to supply guide data information."),
- pointer_default(unique)
- ]
- interface IGuideData : IUnknown
- {
- //-------------------------------------------------------------------------
- //
- // GetServices
- // Returns an enumeration of tune requests for all services whose
- // information is found in the current transport stream.
- //
- // Parameters
- //
- // IEnumTuneRequests **
- // Location in which a reference to the resulting
- // IEnumTuneRequests is placed. The caller must release
- // this reference when finished with it.
- //
- // Comments
- // This call is used to enumerate all services whose information
- // can be found in the service descriptor table. Each tune request
- // in the IEnumTuneRequest * contains the tune request including the
- // locator data for the service.
- //
- [helpstring("Returns an enumeration of services whose information is found in the given transport stream")]
- HRESULT
- GetServices (
- [out, retval] IEnumTuneRequests ** ppEnumTuneRequests
- );
- //-------------------------------------------------------------------------
- //
- // GetServiceProperties
- // Returns an enumeration of all guide data properties for
- // the service with the given Description.ID.
- //
- // Parameters
- // ITuneRequest *
- // Pointer to a tune request that contains information needed
- // to indentify the requested transport stream.
- // A NULL ITuneRequest * indicates that information about the
- // current transport stream is requested.
- //
- // IEnumGuideDataProperties **
- // Location in which a reference to the resulting
- // IEnumGuideDataProperties is placed. The caller must release
- // this reference when finished with it.
- //
- // Required Properties
- // The following properties MUST be included in the returned
- // property enumeration.
- //
- // Description.ID
- // Uniquely identifies a service.
- //
- // Description.Name
- // The default name to use for this service in the channel lineup.
- //
- // Description.Version
- // Identifies the current version of the properties associated
- // with this service.
- //
- // Provider.Name
- // Name of the service provider (e.g. "KCTS")
- //
- // Provider.NetworkName
- // Name of the network on which the service is provided.
- // (e.g. "PBS")
- //
- // Service.TuneRequest
- // Contains a tune request in the variant
- //
- //
- [helpstring("Returns an enumeration of all guide data properties for the service specified by a tune request.")]
- HRESULT
- GetServiceProperties (
- [in] ITuneRequest * pTuneRequest,
- [out, retval] IEnumGuideDataProperties ** ppEnumProperties
- );
- //-------------------------------------------------------------------------
- //
- // GetProgramIDs
- // Returns an enumeration of the unique identifiers (Description.ID)
- // of programs with description contained in all transport
- // streams
- //
- // Parameters
- //
- // IEnumVARIANT **
- // Location in which a reference to the resulting
- // IEnumVARIANT is placed. The caller must release
- // this reference when finished with it.
- //
- // Comments
- // This call is used to get a list of programs that have
- // guide data properties in all transport streams.
- // Each variant returned in the IEnumVARIANT * contains the
- // unique Description.ID property for a program.
- // Note that more than on transport stream may contain properties
- // for the same program. In this case the properties should be
- // merged.
- //
- [helpstring("Returns an enumeration of the Description.ID property for all programs on the given transport stream.")]
- HRESULT
- GetGuideProgramIDs (
- [out, retval] IEnumVARIANT ** pEnumPrograms
- );
- //-------------------------------------------------------------------------
- //
- // GetProgramProperties
- // Returns an enumeration of all guide data properties for
- // the program with the given Description.ID.
- //
- // Parameters
- // varProgramDescriptionID
- // Variant containing the unique identifier for the program
- // for which properties are requested.
- //
- // IEnumGuideDataProperties **
- // Location in which a reference to the resulting
- // IEnumGuideDataProperties is placed. The caller must release
- // this reference when finished with it.
- //
- // Required Properties
- // The following properties MUST be included in the returned
- // property enumeration.
- //
- // Description.ID
- // Uniquely identifies a program.
- //
- // Description.Version
- // Identifies the current version of the properties associated
- // with this program.
- //
- // Description.Title
- // Human readable title of the program (e.g. "")
- //
- // Description.Long
- // A description of the program.
- //
- [helpstring("Returns an enumeration of all guide data properties for the program with the given Description.ID.")]
- HRESULT
- GetProgramProperties (
- [in] VARIANT varProgramDescriptionID,
- [out, retval] IEnumGuideDataProperties ** ppEnumProperties
- );
- //-------------------------------------------------------------------------
- //
- // GetScheduleIDs
- // Returns an enumeration of the unique identifiers (Description.ID)
- // transport of schedule entries with description contained in the
- // given transport stream.
- //
- // Parameters
- //
- // IEnumVARIANT **
- // Location in which a reference to the resulting
- // IEnumVARIANT is placed. The caller must release
- // this reference when finished with it.
- //
- // Comments
- // This call is used to get a list of schedule entries that have
- // guide data properties in all transport streams.
- // Each variant returned in the IEnumVARIANT * contains the
- // unique Description.ID property for a schedule entry.
- // Note that more than on transport stream may contain properties
- // for the same schedule entry. In this case the properties
- // should be merged.
- //
- [helpstring("Returns an enumeration of the Description.ID property for all schedule entries in the transport stream specified by a tune request.")]
- HRESULT
- GetScheduleEntryIDs (
- [out, retval] IEnumVARIANT ** pEnumScheduleEntries
- );
- //-------------------------------------------------------------------------
- //
- // GetScheduleEntryProperties
- // Returns an enumeration of all guide data properties for
- // the schedule entry with the given Description.ID.
- //
- // Parameters
- // varScheduleEntryDescriptionID
- // Variant containing the unique identifier for the schedule
- // entry for which properties are requested.
- //
- // IEnumGuideDataProperties **
- // Location in which a reference to the resulting
- // IEnumGuideDataProperties is placed. The caller must release
- // this reference when finished with it.
- //
- // Required Properties
- // The following properties MUST be included in the returned
- // property enumeration.
- //
- // Description.ID
- // Uniquely identifies a schedule entry.
- //
- // Description.Version
- // Identifies the current version of the properties associated
- // with this program.
- //
- // Time.Start
- // The starting time and date of this schedule entry.
- //
- // Time.End
- // The ending time and date of this schedule entry.
- //
- // Schedule.Program
- // The Description.ID of the program that will play at the
- // time specified by this schedule entry.
- //
- // Schedule.Service
- // The Description.ID of the Service that carries the
- // program that will play at the time specified by this
- // schedule entry.
- //
- [helpstring("Returns an enumeration of all guide data properties for the schedule entry with the given Description.ID.")]
- HRESULT
- GetScheduleEntryProperties (
- [in] VARIANT varScheduleEntryDescriptionID,
- [out, retval] IEnumGuideDataProperties ** ppEnumProperties
- );
- }
- //******************************************************************************
- //
- // IGuideDataLoader
- //
- // All Guide Data Loaders MUST implement this interface. It is how they are
- // provided with the IGuideData interface that they will use.
- //
- // {4764ff7c-fa95-4525-af4d-d32236db9e38}
- [
- object,
- uuid(4764ff7c-fa95-4525-af4d-d32236db9e38),
- helpstring("IGuideDataLoader Interface"),
- pointer_default(unique)
- ]
- interface IGuideDataLoader : IUnknown
- {
- HRESULT Init([in] IGuideData *pGuideStore);
- HRESULT Terminate();
- };
- [
- uuid(8224A083-7F8C-432D-B83E-3C5E9BDE3528),
- version(1.0),
- helpstring("psisload 1.0 Type Library")
- ]
- library PSISLOADLib
- {
- importlib("stdole32.tlb");
- importlib("stdole2.tlb");
- [
- uuid(14EB8748-1753-4393-95AE-4F7E7A87AAD6),
- helpstring("TIFLoad Class")
- ]
- coclass TIFLoad
- {
- interface IGuideDataLoader;
- interface IGuideDataEvent;
- };
- };