Недокументированные функции 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