Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La documentation de référence de l’API pour le Kit de pilotes Windows (WDK) contient tous les fichiers d’en-tête (fichiers.h) dont vous avez besoin pour générer des pilotes en mode noyau et en mode utilisateur. Les fichiers d’en-tête se trouvent dans le dossier Include de votre dossier d’installation WDK. Exemple : C :\Program Files (x86)\Windows Kits\10\Include.
Les fichiers d’en-tête contiennent des informations de version afin que vous puissiez utiliser le même ensemble de fichiers d’en-tête, quelle que soit la version de Windows sur laquelle votre pilote s’exécutera.
Constantes qui représentent les versions de Windows
Les fichiers d’en-tête dans wdK contiennent des instructions conditionnelles qui spécifient des éléments de programmation disponibles uniquement dans certaines versions du système d’exploitation Windows. Les éléments avec version incluent des fonctions, des énumérations, des structures et des membres de structure.
Pour spécifier les éléments de programmation disponibles dans chaque version du système d’exploitation, les fichiers d’en-tête contiennent des conditions de préprocesseur qui comparent la valeur de NTDDI_VERSION à un ensemble de valeurs constantes prédéfinies définies dans Sdkddkver.h.
Voici les valeurs constantes prédéfinies qui représentent les versions du système d’exploitation Microsoft Windows.
| Constant | Version du système d’exploitation |
|---|---|
NTDDI_WIN10 |
Windows 10 |
NTDDI_WINBLUE |
Windows 8.1 |
NTDDI_WIN8 |
Windows 8 |
NTDDI_WIN7 |
Windows 7 |
NTDDI_WS08SP4 |
Windows Server 2008 avec SP4 |
NTDDI_WS08SP3 |
Windows Server 2008 avec SP3 |
NTDDI_WS08SP2 |
Windows Server 2008 avec SP2 |
NTDDI_WS08 |
Windows Server 2008 |
Vous pouvez voir de nombreux exemples d’éléments DDI spécifiques à la version dans les fichiers d’en-tête WDK. Cette déclaration conditionnelle apparaît dans Wdm.h, qui est un fichier d’en-tête qui peut être inclus par un pilote en mode noyau.
#if (NTDDI_VERSION >= NTDDI_WIN7)
_Must_inspect_result_
NTKERNELAPI
NTSTATUS
KeSetTargetProcessorDpcEx (
_Inout_ PKDPC Dpc,
_In_ PPROCESSOR_NUMBER ProcNumber
);
#endif
In the example you can see that the KeSetTargetProcessorDpcEx function is available only in Windows 7 and later versions of Windows.
Cette déclaration conditionnelle apparaît dans Winspool.h, qui est un fichier d’en-tête qui peut être inclus par un pilote en mode utilisateur.
#if (NTDDI_VERSION >= NTDDI_WIN7)
...
BOOL
WINAPI
GetPrintExecutionData(
_Out_ PRINT_EXECUTION_DATA *pData
);
#endif // (NTDDI_VERSION >= NTDDI_WIN7)
In the example can see that the GetPrintExecutionData function is available only in Windows 7 and later versions of Windows.
Fichiers d’en-tête pour l’infrastructure du pilote en mode noyau
WdK prend en charge plusieurs versions de Windows, et prend également en charge plusieurs versions de l’infrastructure kmDF (Kernel Mode Driver Framework) et de l’infrastructure de pilote en mode utilisateur (UMDF). Les informations de contrôle de version dans les fichiers d’en-tête WDK se rapportent aux versions de Windows, mais pas aux versions KMDF ou UMDF. Les fichiers d’en-tête pour différentes versions de KMDF et UMDF sont placés dans des répertoires distincts.