функция обратного вызова PFN_MIRACAST_IO_CONTROL (netdispumdddi.h)

Вызывается драйвером отображения пользовательского режима для отправки драйверу минипорта режима ядра синхронного запроса управления вводом-выводом. Тип данных этой функции — PFN_MIRACAST_IO_CONTROL.

Синтаксис

PFN_MIRACAST_IO_CONTROL PfnMiracastIoControl;

NTSTATUS PfnMiracastIoControl(
  [in]            HANDLE hMiracastDeviceHandle,
  [in]            BOOL HardwareAccess,
  [in]            UINT InputBufferSize,
  [in]            VOID *pInputBuffer,
  [in]            UINT OutputBufferSize,
  [out]           VOID *pOutputBuffer,
  [out, optional] UINT *pBytesReturned
)
{...}

Параметры

[in] hMiracastDeviceHandle

Дескриптор, представляющий устройство Miracast. Драйвер пользовательского режима Miracast ранее получал этот дескриптор в качестве параметра hMiracastDeviceHandle при вызове функции CreateMiracastContext .

[in] HardwareAccess

Логическое значение, указывающее, должен ли этот запрос управления вводом-выводом от драйвера дисплея пользовательского режима очищать все ожидающие буферы DMA GPU.

Мы не рекомендуем устанавливать для драйвера значение TRUE , за исключением случаев, когда это необходимо, так как очистка GPU приведет к значительным издержкам на обработку.

[in] InputBufferSize

Размер входного буфера в байтах, на который указывает pInputBuffer.

[in] pInputBuffer

Указатель на входной буфер. Параметр InputBufferSize указывает размер буфера.

[in] OutputBufferSize

Размер выходного буфера в байтах, на который указывает pOutputBuffer.

[out] pOutputBuffer

Предоставленный драйвером указатель на выходной буфер. Параметр OutputBufferSize указывает размер буфера.

[out, optional] pBytesReturned

Необязательный указатель на переменную типа UINT, которая содержит количество байтов, возвращенное драйвером мини-порта дисплея.

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

При успешном выполнении операционная система возвращает STATUS_SUCCESS. В противном случае функция возвращает код ошибки, определенный в заголовке Ntstatus.h.

Комментарии

Если драйвер пользовательского режима Miracast вызывает MiracastIoControl , когда операционная система запускает сеанс Miracast, а вызывающий поток не является потоком, в котором операционная система вызывает функцию StartMiracastSession , операционная система блокирует вызов MiracastIoControl до завершения сеанса запуска Miracast. Если драйвер пользовательского режима вызывает MiracastIoControl в том же контексте, что и в функциях CreateMiracastContext или StartMiracastSession , операционная система обработает вызов.

Если драйвер пользовательского режима Miracast вызывает MiracastIoControl , когда операционная система останавливает сеанс Miracast, а вызывающий поток не является потоком, в котором операционная система вызывает функцию StopMiracastSession , операционная система завершится ошибкой этого вызова. Если драйвер пользовательского режима вызывает MiracastIoControl в том же контексте, что и в функциях StopMiracastSession или DestroyMiracastContext , операционная система обработает вызов.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1
Минимальная версия сервера Windows Server 2012 R2
Целевая платформа Персональный компьютер
Верхняя часть netdispumdddi.h (включая Netdispumdddi.h)

См. также раздел

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession