[This is preliminary documentation and subject to change.]
The BPCVBIControl object provides methods that your application can use to tune the television tuner to a specific channel in order to receive data transmitted over the vertical blanking interval (VBI). BPCVBIControl does not receive or parse VBI data, it simply tunes to the specified channel
The BPCVBIControl object has the following methods.
Method | Description |
---|---|
VBITune | Tunes the tuner to the specified channel and tuning space in order to receive VBI data. |
VBIStatus | Retrieves the current tuner settings for VBI reception and the strength of the VBI signal. |
Because the tuner is a nonsharable device, only one instance of BPCVBIControl can exist at a time. If you attempt to create a second instance, the second create will fail.
The BPCVBIControl object does not implement a resource conflict mechanism (Such as BPCDevices does with GotControl and LostControl events). Consequently, applications using this object must do so in a singular, or atomic, fashion, and ensure that no other applications are accessing BPCVBIControl simultaneously.
Displaying video is a higher priority operation tuning to a VBI-data channel. In other words, if the user is watching video on channel A, your application cannot use BPCVBIControl to tune to channel B. VBI data can only be received either when the user is watching video on the channel transmitting the VBI data, or when the user is not watching television.
When you release the BPCVBIControl object, the tuner receives VBI data using settings specified in the VBITS and VBIChan registry entries, if any. These entries are both type REG_DWORD. VBITS indicates the default VBI tuning space and VBIChan the default VBI channel. These entries are located in the HKLM\Software\Microsoft\TV Services registry key.
If the VBITS and VBIChan registry entries exist, the television tuner will automatically tune to the specified VBI channel whenever the user is not watching television and no other applications are using video. If these entries do not exist, the tuner stops the graph and releases the devices when there are no video clients.
Note The BPCSuspend object has higher priority than the BPCVBIControl and can preempt it. In other words, you can suspend the video server even if it is currently being used by the BPCVBIControl.
Windows NT: Unsupported.
Windows: Requires Windows 98.
Windows CE: Unsupported.
Header: Declared in vidsvr.odl.
Import Library: Included as a resource in vid.ocx.
Unicode: Yes.
BPCSuspend, Tuning to Receive VBI Data