Недокументированные функции NTDLL

11 февраля 2001



NtDeviceIoControlFile

NTSYSAPI
NTSTATUS
NTAPI

NtDeviceIoControlFile(

IN HANDLE FileHandle, IN HANDLE Event OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, IN ULONG IoControlCode, IN PVOID InputBuffer OPTIONAL, IN ULONG InputBufferLength, OUT PVOID OutputBuffer OPTIONAL, IN ULONG OutputBufferLength );




Функция NtDeviceIoControlFile посылает контрольный код IOCTL_* в драйвер устройства. Это главный (но не лучший) способ связи приложения и драйвера устройства.


  • FileHandle     HANDLE устройства, открытого как файл.
  • Event     Дополнительный HANDLE на объект события, который переходит в сигнальное состояние после выполнения запроса.
  • ApcRoutine     Дополнительный указатель на пользовательскую функцию APC, вызываемую после выполнения запроса.
  • ApcContext     Пользовательский параметр для ApcRoutine.
  • IoStatusBlock     Результат ввода-вывода
  • IoControlCode     Контрольный код [IOCTL_*].
  • InputBuffer     Буфер входных данных, память для которого выделяется заранее
  • InputBufferLength     Длина InputBuffer, в байтах.
  • OutputBuffer     Буфер данных результата вызова, память для которого выделяется заранее
  • OutputBufferLength     Длина OutputBuffer, в байтах.


    See also NtFsControlFile.


    Документировал:
    Томаш Новак
    Reactos



    Зависимости:
    Библиотека: ntdll.lib


    См. также:
    NtCreateFile
    NtFsControlFile
    NtOpenFile