Поделиться через


Функция SetFileCompletionNotificationModes (winbase.h)

Задает режимы уведомлений для дескриптора файла, позволяя указать, как работают уведомления о завершении для указанного файла.

Синтаксис

BOOL SetFileCompletionNotificationModes(
  [in] HANDLE FileHandle,
  [in] UCHAR  Flags
);

Параметры

[in] FileHandle

Дескриптор файла.

[in] Flags

Режимы, которые необходимо задать. Одновременно можно задать один или несколько режимов; Однако после установки режима для дескриптора файла его нельзя удалить.

Значение Значение
FILE_SKIP_COMPLETION_PORT_ON_SUCCESS
0x1
Если выполняются следующие три условия, диспетчер операций ввода-вывода не ставит запись завершения в очередь на порт, когда обычно это делается. Условия:
  • Порт завершения связан с дескриптором файла.
  • Файл открыт для асинхронного ввода-вывода.
  • Запрос возвращает успешное выполнение немедленно, не возвращая ERROR_PENDING.

Если параметр FileHandle является сокетом, этот режим совместим только с многоуровневыми поставщиками служб (LSP), которые возвращают дескрипторы устанавливаемых файловых систем (IFS). Чтобы определить, установлен ли LSP, отличный от IFS, используйте функцию WSAEnumProtocols и проверьте член dwServiceFlag1 в каждой возвращаемой WSAPROTOCOL_INFO структуре. Если бит XP1_IFS_HANDLES (0x20000) очищен, указанный LSP не является LSP IFS. Поставщикам, у которых нет LSP IFS, рекомендуется перейти на платформу фильтрации Windows (МПП).

FILE_SKIP_SET_EVENT_ON_HANDLE
0x2
Диспетчер ввода-вывода не задает событие для объекта файла, если запрос возвращается с кодом успешного выполнения или возвращенная ошибка ERROR_PENDING а вызываемая функция не является синхронной.

Если для запроса указано явное событие, оно по-прежнему получает сигнал.

Возвращаемое значение

Возвращает ненулевое значение в случае успешного выполнения или ноль в противном случае.

Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Чтобы скомпилировать приложение, использующее эту функцию, определите макрос _WIN32_WINNT как 0x0600 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0 Да
Прозрачная отработка отказа (TFO) SMB 3.0 Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции управления файлами