Freigeben über


PFN_MIRACAST_IO_CONTROL Rückruffunktion (netdispumdddi.h)

Vom Anzeigetreiber für den Benutzermodus aufgerufen, um den Kernelmodus-Miniporttreiber an eine synchrone E/A-Steuerungsanforderung zu senden. Der Datentyp dieser Funktion ist PFN_MIRACAST_IO_CONTROL.

Syntax

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

Parameter

[in] hMiracastDeviceHandle

Ein Handle, das ein Miracast-Gerät darstellt. Der Miracast-Benutzermodustreiber hat dieses Handle zuvor als hMiracastDeviceHandle Parameter in einem Aufruf der CreateMiracastContext--Funktion abgerufen.

[in] HardwareAccess

Ein boolescher Wert, der angibt, ob diese E/A-Steuerelementanforderung vom Anzeigetreiber für den Benutzermodus alle ausstehenden GPU-DMA-Puffer leeren muss.

Es wird nicht empfohlen, dass der Treiber diesen Wert auf TRUE- festgelegt, außer wenn dies erforderlich ist, da durch das Leeren der GPU ein erheblicher Verarbeitungsaufwand entsteht.

[in] InputBufferSize

Die Größe des Eingabepuffers in Bytes, auf die pInputBufferverweist.

[in] pInputBuffer

Ein Zeiger auf den Eingabepuffer. Der InputBufferSize Parameter gibt die Größe des Puffers an.

[in] OutputBufferSize

Die Größe des Ausgabepuffers in Bytes, auf die pOutputBufferverweist.

[out] pOutputBuffer

Ein vom Treiber bereitgestellter Zeiger auf den Ausgabepuffer. Der OutputBufferSize Parameter gibt die Größe des Puffers an.

[out, optional] pBytesReturned

Ein optionaler vom Treiber bereitgestellter Zeiger auf eine UINT-Typvariable, die die Anzahl der Bytes enthält, die der angezeigte Miniporttreiber zurückgegeben hat.

Rückgabewert

Bei Erfolg gibt das Betriebssystem STATUS_SUCCESSzurück. Andernfalls gibt die Funktion einen Fehlercode zurück, der im Ntstatus.h-Header definiert ist.

Bemerkungen

Wenn der Miracast-Benutzermodustreiber MiracastIoControl aufruft, wenn das Betriebssystem eine Miracast-Sitzung startet, und wenn der aufrufende Thread nicht der Thread ist, in dem das Betriebssystem die StartMiracastSession-Funktion aufruft, blockiert das Betriebssystem den MiracastIoControl Aufruf, bis die Miracast-Startsitzung beendet ist. Wenn der Benutzermodustreiber MiracastIoControl- im gleichen Kontext aufruft wie im CreateMiracastContext oder StartMiracastSession--Funktionen, verarbeitet das Betriebssystem den Aufruf.

Wenn der Miracast-Benutzermodustreiber MiracastIoControl- aufruft, wenn das Betriebssystem eine Miracast-Sitzung beendet, und wenn der aufrufende Thread nicht der Thread ist, in dem das Betriebssystem die StopMiracastSession-Funktion aufruft, schlägt das Betriebssystem diesen Aufruf fehl. Wenn der Benutzermodustreiber MiracastIoControl- im gleichen Kontext aufruft wie in der StopMiracastSession oder DestroyMiracastContext Funktionen, verarbeitet das Betriebssystem den Aufruf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8.1
mindestens unterstützte Server- Windows Server 2012 R2
Zielplattform- Desktop
Header- netdispumdddi.h (include Netdispumdddi.h)

Siehe auch

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession