许多解码器具有多个使用相同解码器硬件的流。 对于这些设备,不必在每个流上单独执行密钥协商。 若要向 DVD 解码器模型指示这一点,请使用 KS_DVDCOPY_SET_COPY_STATE 属性。 当对此属性发起 get 操作时,解码器可能会做出以下任一种响应:
KS_无需身份验证的DVD复制状态
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 属性调用。 不要将版权保护属性硬编码为仅处理一个流。