Microsoft DirectX 9.0

DSMCC_FILTER_OPTIONS Structure

The DSMCC_FILTER_OPTIONS structure specifies additional filtering criteria for the DSM-CC portions of the section header.

Syntax

typedef struct {
    BOOL  fSpecifyProtocol;
    BYTE  Protocol;
    BOOL  fSpecifyType;
    BYTE  Type;
    BOOL  fSpecifyMessageId;
    WORD  MessageId;
    BOOL  fSpecifyTransactionId;
    BOOL  fUseTrxIdMessageIdMask;
    DWORD TransactionId;
    BOOL  fSpecifyModuleVersion;
    BYTE  ModuleVersion;
    BOOL  fSpecifyBlockNumber;
    WORD  BlockNumber;
    BOOL  fGetModuleCall;
    WORD  NumberOfBlocksInModule;
} DSMCC_FILTER_OPTIONS;

Members

fSpecifyProtocol

If this flag is TRUE, the protocolDiscriminator field in the header must match the value of the Protocol structure member. Otherwise, the protocolDiscriminator field is ignored.

Protocol

Specifies a value for the protocolDiscriminator field. For MPEG-2 DSM-CC messages, this field must equal 0x11.

fSpecifyType

If this field is TRUE, the dsmccType field in the header must match the value of the Type structure member. Otherwise, the dsmccType field is ignored.

Type

Specifies a value for the dsmccType field, which defines the DSM-CC message type.

fSpecifyMessageId

If this flag is TRUE, the messageId field in the header must match the value of the MessageId structure member. Otherwise, the messageId field is ignored.

MessageId

Specifies a value for the messageId field, which defines the DSM-CC message within the scope of the message type.

fSpecifyTransactionId

If this flag is TRUE, the transactionId (or downloadId) field in the header must match the value of the TransactionId structure member. Otherwise, the transactionId/downloadId field is ignored.

fUseTrxIdMessageIdMask

If this flag is TRUE, the transactionId bits are masked so that the following subfields are ignored:

The following subfields are matched against the TransactionId structure member:

For more information about the subfields within the transactionId, see section 4.6.5 of TR 101 202, Digital Video Broadcasting (DVB); Implementation Guidelines for Data Broadcasting.

This flag is ignored if fSpecifyTransactionId is FALSE.

TransactionId

Specifies a value for the transactionId field.

fSpecifyModuleVersion

If this flag is TRUE, the moduleVersion field in the header must match the value of the ModuleVersion structure member. Otherwise, the moduleVersion field is ignored.

ModuleVersion

Specifies a value for the moduleVersion field.

fSpecifyBlockNumber

If this flag is TRUE, the blockNumber field in the header must match the value of the BlockNumber structure member. Otherwise, the moduleVersion field is ignored.

BlockNumber

Specifies a value for the blockNumber field.

fGetModuleCall

If this flag is TRUE, the NumberOfBlocksInModule structure member specifies the number of blocks in the module. Applies only to download data block (DDB) messages.

NumberOfBlocksInModule

Specifies the number of blocks in the module. Applies only to DDB messages.

See Also