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


функция обратного вызова 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 ранее получил этот дескриптор в качестве параметра hMiracastDeviceHand le в вызове функции CreateMiracastContext.

[in] HardwareAccess

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

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

[in] InputBufferSize

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

[in] pInputBuffer

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

[in] OutputBufferSize

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

[out] pOutputBuffer

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

[out, optional] pBytesReturned

Необязательный указатель на переменную типа UINT 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 (include Netdispumdddi.h)

См. также

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession