NX-Pool-Opt-In-Mechanismen

Zum Portieren von Kernelmodustreibercode zu Windows 8 aus früheren Versionen von Windows sollten Sie den NonPagedPoolNx-Speicherpool als bewährte Methode verwenden. Sie können eine von mehreren Portierungshilfen verwenden, um sich für die Standardmäßige Verwendung des NonPagedPoolNx-Pooltyps einfach zu entscheiden.

Diese Portierungshilfen verwenden eine oder beide der folgenden Techniken, um dem Treiber die Verwendung eines NX-Pools ohne Auslagerung zu ermöglichen:

  • Verwenden Sie eine #define Präprozessoranweisung, um einen global definierten Makronamen zu erstellen.

  • Rufen Sie eine Inlinefunktion aus der DriverEntry-Routine auf.

Für den meisten Kernelmodustreibercode ermöglichen diese Portierungshilfen Entwicklern, ihre Treiber mit minimalem Aufwand zu aktualisieren.

In diesem Abschnitt

Thema BESCHREIBUNG

Einzelbinär-Opt-In: POOL_NX_OPTIN

Verwenden Sie den POOL_NX_OPTIN Opt-In-Mechanismus, um eine einzelne Treiberbinärdatei zu erstellen, die sowohl in Windows 8 als auch in früheren Versionen von Windows ausgeführt wird. Dies ist eine Portierungshilfe für Hardwarehersteller von Drittanbietern, die eine einzelne Treiberbinärdatei zur Unterstützung mehrerer Windows-Versionen bereitstellen.

Multiple Binary Opt-In: POOL_NX_OPTIN_AUTO

Wenn Sie ein Hardwareanbieter sind, der verschiedene Treiberbinärdateien für verschiedene Versionen von Windows bereitstellt, können Sie den POOL_NX_OPTIN_AUTO-Opt-In-Mechanismus verwenden. Diese Portierungshilfe erstellt eine separate Treiberbinärdatei für Windows 8 und für jede frühere Version von Windows, die Ihr Treiber unterstützt.

Selektives Abmelden: POOL_NX_OPTOUT

Sie können einen der Nx-Aktivierungsmechanismen (No-Execute) für einen Satz von Treiberquelldateien global aktivieren und diesen Opt-In-Mechanismus dann für eine oder mehrere ausgewählte Quelldateien mit POOL_NX_OPTOUT überschreiben. Dadurch können die ausgewählten Quelldateien weiterhin ausführbaren, nicht auslagerten Arbeitsspeicher verwenden. Sie können den POOL_NX_OPTOUT Opt-Out-Mechanismus entweder mit dem POOL_NX_OPTIN oder dem POOL_NX_OPTIN_AUTO-Opt-In-Mechanismus verwenden.