функция обратного вызова 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) |