Atribuindo precedência a níveis de proteção
Um valor de precedência é atribuído a cada nível de proteção para cada tipo de proteção. Dessa forma, uma saída física pode determinar qual nível de proteção usar se duas ou mais saídas protegidas estiverem associadas à saída física e cada saída protegida tiver um nível de proteção diferente.
O subsistema de kernel de elementos gráficos do Microsoft DirectX (Dxgkrnl.sys) pode fazer mais de uma chamada para a função DxgkDdiOPMCreateProtectedOutput de um driver de miniporta de exibição para criar mais de uma saída protegida para uma saída física específica. Além disso, cada uma dessas saídas protegidas pode ter um nível de proteção diferente para o mesmo tipo de proteção de saída.
Por exemplo, suponha que um adaptador gráfico tenha uma saída composta que tenha o tipo de proteção CGMS-A e que as saídas protegidas A e B estejam associadas a essa saída composta. Em seguida, suponha que o nível de proteção CGMS-A de saída protegida de A esteja definido como DXGKMDT_OPM_CGMSA_COPY_NO_MORE enquanto o nível de proteção CGMS-A da saída protegida B está definido como DXGKMDT_OPM_CGMSA_COPY_ONE_GENERATION. Nessa situação, a saída física não pode usar os dois níveis de proteção. Portanto, como a saída física pode gerar apenas um nível de proteção CGMS-A por vez, a saída física deve usar o nível de proteção CGMS-A com a precedência mais alta.
As seções a seguir mostram qual nível de proteção uma saída física deve usar (da precedência mais alta para a mais baixa) quando diferentes saídas protegidas instruem a saída física a usar diferentes níveis de proteção. Observe que essas tabelas se aplicam a saídas protegidas com semântica COPP ou OPM.
Precedência de nível de proteção ACP
Quando saídas protegidas diferentes instruem a saída física a usar diferentes níveis de proteção ACP, a saída física deve usar o nível de proteção com a precedência mais alta, conforme mostrado na tabela a seguir. Observe que esta tabela se aplica a saídas protegidas com semântica COPP.
Valor de nível de proteção ACP | Precedência |
---|---|
DXGKMDT_OPM_ACP_OFF (0) |
Precedência mais baixa (0) |
DXGKMDT_OPM_ACP_LEVEL_ONE (1) |
1 |
DXGKMDT_OPM_ACP_LEVEL_THREE (3) |
2 |
DXGKMDT_OPM_ACP_LEVEL_TWO (2) |
Precedência mais alta (3) |
Precedência de nível de proteção do CGMS-A
Quando diferentes saídas protegidas instruem a saída física a usar diferentes níveis de proteção CGMS-A, a saída física deve usar o nível de proteção com a precedência mais alta, conforme mostrado na tabela a seguir. Observe que esta tabela se aplica a saídas protegidas com semântica COPP.
Valor de nível de proteção CGMS-A | Precedência |
---|---|
DXGKMDT_OPM_CGMSA_OFF (0) |
Precedência mais baixa (0) |
DXGKMDT_OPM_CGMSA_COPY_FREELY (1) |
1 |
DXGKMDT_OPM_CGMSA_COPY_ONE_GENERATION (3) |
2 |
DXGKMDT_OPM_CGMSA_COPY_NO_MORE (2) |
3 |
DXGKMDT_OPM_CGMSA_COPY_NEVER (4) |
Precedência mais alta (4) |
Nota O sinalizador de controle de redistribuição (DXGKMDT_OPM_REDISTRIBUTION_CONTROL_REQUIRED) não afeta o valor de precedência CGMS-A. Por exemplo, (DXGKMDT_OPM_CGMSA_COPY_ONE_GENERATION | DXGKMDT_OPM_REDISTRIBUTION_CONTROL_REQUIRED) tem o mesmo valor de precedência que DXGKMDT_OPM_CGMSA_COPY_ONE_GENERATION.
Precedência de nível de proteção do HDCP
Quando saídas protegidas diferentes instruem a saída física a usar diferentes níveis de proteção HDCP, a saída física deve usar o nível de proteção com a precedência mais alta, conforme mostrado na tabela a seguir. Observe que esta tabela se aplica a saídas protegidas com semântica copp ou OPM.
Valor do nível de proteção do HDCP | Precedência |
---|---|
DXGKMDT_OPM_HDCP_OFF (0) |
Precedência mais baixa (0) |
DXGKMDT_OPM_HDCP_ON (1) |
Precedência mais alta (1) |
Precedência de nível de proteção DPCP
Quando diferentes saídas protegidas instruem a saída física a usar diferentes níveis de proteção DPCP, a saída física deve usar o nível de proteção com a precedência mais alta, conforme mostrado na tabela a seguir. Observe que esta tabela se aplica a saídas protegidas com semântica do OPM.
Valor do nível de proteção DPCP | Precedência |
---|---|
DXGKMDT_OPM_DPCP_OFF (0) |
Precedência mais baixa (0) |
DXGKMDT_OPM_DPCP_ON (1) |
Precedência mais alta (1) |