DeviceIoControl |
kernel32.dll | Contrôle d'E/S de périphérique |
---|---|---|
Windows 9X, NT 3.1+, 2000, XP, 2003 |
Syntaxe
BOOL DeviceIoControl( HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped ); |
Paramètres
Nom | Description | |||
---|---|---|---|---|
hDevice | Ce paramètre permet d'indiquer l'identificateur de périphérique. On peut utilisé la fonction d'API «CreateFileA» par exemple pour créer un pilote de périphérique | |||
dwIoControlCode | Ce paramètre permet d'indiquer le code de contrôle de l'opération | |||
Bits | Description | |||
0 à 1 | Ces bits permettent d'indiquer la méthode d'accès: | |||
Code | Constante | Description | ||
0 | METHOD_BUFFERED | Ce code permet d'indiquer une méthode de tamporisation | ||
1 | METHOD_IN_DIRECT | Ce code permet d'indiquer une méthode d'entrée direct | ||
2 | METHOD_OUT_DIRECT | Ce code permet d'indiquer une méthode de sortie direct | ||
3 | METHOD_NEITHER | Ce code permet d'indiquer une méthode à rien faire | ||
2 à 13 | Ces bits permettent d'indiquer la fonction | |||
14 à 15 | Ces bits permettent d'indiquer le mode d'accès: | |||
Code | Constante | Description | ||
0 | FILE_ANY_ACCESS | Ce code permet d'indiquer un accès en lecture et en écriture | ||
1 | FILE_READ_ACCESS | Ce code permet d'indiquer un accès en lecture | ||
2 | FILE_WRITE_ACCESS | Ce code permet d'indiquer un accès en écriture | ||
16 à 31 | Ces bits permettent d'indiquer le type de périphériques: | |||
Code | Constante | Description | ||
7 | IOCTL_DISK_BASE | Ce code permet d'indiquer un périphérique de disque | ||
27 | FILE_DEVICE_SERIAL_PORT | Ce code permet d'indiquer un périphérique de port série | ||
45 | IOCTL_STORAGE_BASE | Ce code permet d'indiquer un périphérique d'entreposage de masse | ||
80FFh | FILE_DEVICE_KRNLDRVR | Ce code permet d'indiquer un pilote de périphérique pour le noyau du système d'exploitation | ||
lpInBuffer | Ce paramètre permet d'indiquer un pointeur vers un tampon de données d'entrée | |||
nInBufferSize | Ce paramètre permet d'indiquer la taille du tampon de données d'entrée | |||
lpOutBuffer | Ce paramètre permet d'indiquer un pointeur vers un tampon de données de sortie | |||
nOutBufferSize | Ce paramètre permet d'indiquer la taille du tampon de données de sortie | |||
lpBytesReturned | Ce paramètre permet d'indiquer le nombre d'octets retourner dans le tampon de sortie | |||
lpOverlapped | Ce paramètre permet d'indiquer une structure de données d'opération synchronisé |
Description
Cette fonction permet d'envoyer des codes de contrôles directement à un pilote de périphérique.
Voir également
Langage de programmation - C pour Windows - API de Windows - CreateEventA
Langage de programmation - C pour Windows - API de Windows - CreateFileA
Langage de programmation - C pour Windows - API de Windows - GetOverlappedResult
Langage de programmation - C pour Windows - API de Windows - WaitForMultipleObjects
Langage de programmation - C pour Windows - API de Windows - WaitForSingleObject
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Dimanche, le 6 décembre 2015