Partilhar via


Mecanismos de Opt-In do pool do NX

Para portar o código do driver do modo kernel para Windows 8 de versões anteriores do Windows, você deve usar o tipo de pool de memória NonPagedPoolNx como prática recomendada. Você pode usar um dos vários auxílios de portabilidade para facilmente "aceitar" para usar o tipo de pool NonPagedPoolNx por padrão.

Esses auxílios de portabilidade usam uma ou ambas as técnicas a seguir para permitir que o driver use o pool nãopagado do NX:

  • Use uma instrução #define de pré-processador para criar um nome de macro definido globalmente.

  • Chame uma função embutida da rotina DriverEntry .

Para a maioria dos códigos de driver no modo kernel, esses auxílios de portabilidade permitem que os desenvolvedores atualizem seus drivers com o mínimo de esforço.

Nesta seção

Tópico Descrição

Aceitação binária única: POOL_NX_OPTIN

Para criar um binário de driver único executado no Windows 8 e em versões anteriores do Windows, use o mecanismo de aceitação POOL_NX_OPTIN. Esse é um auxílio de portabilidade para fornecedores de hardware de terceiros que fornecem um binário de driver único para dar suporte a várias versões do Windows.

Aceitação de vários binários: POOL_NX_OPTIN_AUTO

Se você for um fornecedor de hardware que fornece binários de driver diferentes para diferentes versões do Windows, poderá usar o mecanismo de aceitação POOL_NX_OPTIN_AUTO. Esse auxílio de portabilidade cria um binário de driver separado para Windows 8 e para cada versão anterior do Windows compatível com o driver.

Recusa seletiva: POOL_NX_OPTOUT

Você pode habilitar globalmente um dos mecanismos de aceitação do pool sem execução (NX) para um conjunto de arquivos de origem do driver e, em seguida, substituir esse mecanismo de aceitação para um ou mais arquivos de origem selecionados com POOL_NX_OPTOUT. Isso permite que os arquivos de origem selecionados continuem a usar memória executável não paga. Você pode usar o mecanismo de recusa POOL_NX_OPTOUT com a POOL_NX_OPTIN ou o mecanismo de aceitação do POOL_NX_OPTIN_AUTO.