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