同一硬件上的多个数据流

许多解码器使用同一个解码器硬件的多个流。 对于这些设备,无需在每个流上单独执行密钥协商。 若要向 DVD 解码器模型指示这一点,请使用 KS_DVDCOPY_SET_COPY_STATE 属性。 对此属性发出 get 操作时,解码器可能会响应以下任一项:

KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED

KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED

KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED指示给定流不需要密钥协商,因为同一硬件上的另一个流已执行密钥协商。 例如,如果解码器首先在音频流上接收 Get 属性,它将响应音频流上的 KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED ,并在所有其他流上 KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED 。 使用 AUTHENTICATION_NOT_REQUIRED 进行回复后,该流在协商下一个游戏密钥之前不会再收到任何密钥交换属性。 此时,解码器可能再次选择使用AUTHENTICATION_NOT_REQUIRED进行答复。

为了允许除 DVD 播放应用程序以外的其他应用程序,如果解码器只需要对一个流执行版权保护,则解码器会对第一个流执行协商,以便在流打开后接收KS_DVDCOPY_SET_COPY_STATE的 Get 属性调用。 请勿对版权保护属性进行硬编码,以便仅处理一个流。