Compartir a través de


PFN_MIRACAST_IO_CONTROL función de devolución de llamada (netdispumdddi.h)

Lo llama el controlador de pantalla en modo de usuario para enviar al controlador de miniporte del modo kernel una solicitud de control de E/S sincrónica. El tipo de datos de esta función es PFN_MIRACAST_IO_CONTROL.

Sintaxis

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
)
{...}

Parámetros

[in] hMiracastDeviceHandle

Identificador que representa un dispositivo Miracast. El controlador del modo de usuario de Miracast obtuvo anteriormente este identificador como el parámetro hMiracastDeviceHandle en una llamada a la función CreateMiracastContext .

[in] HardwareAccess

Valor booleano que indica si esta solicitud de control de E/S del controlador de pantalla en modo de usuario debe vaciar todos los búferes DMA de GPU pendientes.

No se recomienda que el controlador establezca este valor en TRUE , excepto cuando sea necesario, ya que el vaciado de la GPU creará una sobrecarga de procesamiento sustancial.

[in] InputBufferSize

Tamaño, en bytes, del búfer de entrada al que apunta pInputBuffer.

[in] pInputBuffer

Puntero al búfer de entrada. El parámetro InputBufferSize especifica el tamaño del búfer.

[in] OutputBufferSize

Tamaño, en bytes, del búfer de salida al que apunta pOutputBuffer.

[out] pOutputBuffer

Puntero proporcionado por el controlador al búfer de salida. El parámetro OutputBufferSize especifica el tamaño del búfer.

[out, optional] pBytesReturned

Puntero opcional proporcionado por el controlador a una variable de tipo UINT que contiene el número de bytes devueltos por el controlador de minipuerto para mostrar.

Valor devuelto

Si se ejecuta correctamente, el sistema operativo devuelve STATUS_SUCCESS. De lo contrario, la función devuelve un código de error definido en el encabezado Ntstatus.h.

Comentarios

Si el controlador del modo de usuario de Miracast llama a MiracastIoControl cuando el sistema operativo inicia una sesión de Miracast y si el subproceso de llamada no es el subproceso en el que el sistema operativo llama a la función StartMiracastSession , el sistema operativo bloquea la llamada a MiracastIoControl hasta que finalice la sesión de inicio de Miracast. Si el controlador en modo de usuario llama a MiracastIoControl en el mismo contexto que se usa en las funciones CreateMiracastContext o StartMiracastSession , el sistema operativo procesará la llamada.

Si el controlador del modo de usuario de Miracast llama a MiracastIoControl cuando el sistema operativo detenga una sesión de Miracast y, si el subproceso que realiza la llamada no es el subproceso en el que el sistema operativo llama a la función StopMiracastSession , el sistema operativo producirá un error en esta llamada. Si el controlador en modo de usuario llama a MiracastIoControl en el mismo contexto que se usa en las funciones StopMiracastSession o DestroyMiracastContext , el sistema operativo procesará la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1
Servidor mínimo compatible Windows Server 2012 R2
Plataforma de destino Escritorio
Encabezado netdispumdddi.h (incluya Netdispumdddi.h)

Consulte también

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession