Criando drivers IddCx 1.4
Devido a alterações feitas no IddCx 1.3 para Windows 10 versão 1809, um IDD (driver de exibição indireto) criado no IddCx v1.4 pode ser executado no Windows 10 versão 1809 usando verificações de runtime para verificar se as alterações de DDI no IddCx 1.4 estão disponíveis nesse sistema. Consulte Criando um driver WDF para várias versões do Windows para obter mais informações.
A partir do IddCx 1.4, um driver IddCx pode ser criado para instalar no Windows 10, versão 1803 e posterior, fazendo o seguinte. OBSERVAÇÃO: esse driver não será carregado em Windows 10, versões 1607 a 1709.
- Crie e vincule o driver usando os cabeçalhos e bibliotecas do IddCx 1.4 do WDK ( Windows Driver Kit ).
- Defina IDDCX_MINIMUM_VERSION_REQUIRED como 3 no ambiente de build. Isso informa ao sistema operacional a versão mínima do IddCx para a qual o driver foi criado, 1.3 nesse caso.
- Ao inicializar estruturas IddCx, use a macro XXX_INIT correspondente. Por exemplo, use a macro IDD_CX_CLIENT_CONFIG_INIT() para inicializar uma estrutura de IDD_CX_CLIENT_CONFIG. A macro usa o código de runtime para definir o campo Tamanho como o tamanho correto para a versão IddCx em que o driver está sendo executado.
- Use a macro IDD_IS_FIELD_AVAILABLE() para determinar se uma estrutura passada para o driver do IddCx tem esse campo definido. OBSERVAÇÃO: O IddCx 1.4 não estendeu nenhuma estrutura existente passada do IddCx para o driver, portanto, essa macro não precisa ser usada no IddCx 1.4.
- Use a macro IDD_IS_FUNCTION_AVAILABLE() para determinar se uma determinada função IddCx está disponível no sistema operacional em que o driver está sendo executado. Por exemplo, use IDD_IS_FUNCTION_AVAILABLE(IddCxAdapterSetRenderAdapter) para determinar se IddCxAdapterSetRenderAdapter() é compatível com esse sistema operacional.
A tabela a seguir resume as versões do IddCx compatíveis com diferentes versões do sistema operacional.
Versão do SO | Versão do IddCx enviada com o sistema operacional | Versão IddCx de drivers que podem ser executados |
---|---|---|
1607 (RS1) | 1.0 | 1.0 |
1703 (RS2) | 1.0 | 1.0 |
1709 (RS3) | 1,2 | 1.0 e 1.2 |
1803 (RS4) | 1,3 | 1.0-1.3 e 1.4 acima(*) |
1809 (RS5) | 1,3 | 1.0-1.3 e 1.4 acima(*) |
1903 (19H1) | 1.4 | 1.0-1.3 e 1.4 acima(*) |
1909 (19H2) | 1.4 | 1.0-1.3 e 1.4 acima(*) |
2004 (20H1) | 1.4 | 1.0-1.3 e 1.4 acima(*) |
N/D | 1.6 | 1.0-1.3 e 1.4 acima(*) |
* Um IddCx 1.4 e iD acima precisam usar as macros dinâmicas, como IDD_IS_FUNCTION_AVAILABLE() para decidir em runtime qual funcionalidade do sistema operacional ele pode chamar. Essas macros dinâmicas são definidas em iddcx.h.
Para dar suporte a todas as versões possíveis do Windows:
- Escreva um driver IddCx 1.0 para Windows 10, versões 1607 a 1709.
- Escreva um único driver IddCx 1.4 ou superior para Windows 10, versão 1803 e posterior.