MiracastIoControl function pointer

Called by the user-mode display driver to send the kernel-mode display miniport driver a synchronous I/O control request.

The data type of this function is PFN_MIRACAST_IO_CONTROL.

Syntax


typedef NTSTATUS ( *MiracastIoControl)(
  _In_       HANDLE hMiracastDeviceHandle,
  _In_       BOOL HardwareAccess,
  _In_       UINT InputBufferSize,
  _In_       VOID *pInputBuffer,
  _In_       UINT OutputBufferSize,
  _Out_      VOID *pOutputBuffer,
  _Out_opt_  UINT *pBytesReturned
);

Parameters

hMiracastDeviceHandle [in]

A handle that represents a Miracast device. The Miracast user-mode driver previously obtained this handle as the hMiracastDeviceHandle parameter in a call to the CreateMiracastContext function.

HardwareAccess [in]

A Boolean value that indicates whether this I/O control request from the user-mode display driver needs to flush all the pending GPU DMA buffers.

We don't recommend that the driver set this value to TRUE except when necessary, because flushing the GPU will create substantial processing overhead.

InputBufferSize [in]

The size, in bytes, of the input buffer pointed to by pInputBuffer.

pInputBuffer [in]

A pointer to the input buffer. The InputBufferSize parameter specifies the size of the buffer.

OutputBufferSize [in]

The size, in bytes, of the output buffer pointed to by pOutputBuffer.

pOutputBuffer [out]

A driver-supplied pointer to the output buffer. The OutputBufferSize parameter specifies the size of the buffer.

pBytesReturned [out, optional]

An optional driver-supplied pointer to a UINT-type variable that holds the number of bytes that the display miniport driver returned.

Return value

On success, the operating system returns STATUS_SUCCESS. Otherwise, the function returns an error code defined in the Ntstatus.h header.

Remarks

If the Miracast user-mode driver calls MiracastIoControl when the operating system is starting a Miracast session, and if the calling thread is not the thread in which the operating system calls the StartMiracastSession function, the operating system blocks the MiracastIoControl call until the Miracast start session is finished. If the user-mode driver calls MiracastIoControl in the same context as is used in the CreateMiracastContext or StartMiracastSession functions, the operating system will process the call.

If the Miracast user-mode driver calls MiracastIoControl when the operating system is stopping a Miracast session, and if the calling thread is not the thread in which the operating system calls the StopMiracastSession function, the operating system will fail this call. If the user-mode driver calls MiracastIoControl in the same context as is used in the StopMiracastSession or DestroyMiracastContext functions, the operating system will process the call.

Requirements

Minimum supported client

Windows 8.1

Minimum supported server

Windows Server 2012 R2

Header

Netdispumdddi.h (include Netdispumdddi.h)

See also

CreateMiracastContext
DestroyMiracastContext
StartMiracastSession
StopMiracastSession

 

 

Send comments about this topic to Microsoft

Afficher:
© 2014 Microsoft