Freigeben über


PFN_HANDLE_KMD_MESSAGE Rückruffunktion (netdispumdddi.h)

Vom Betriebssystem aufgerufen, um die asynchrone Kernelmodusmeldung zu verarbeiten, die der Miracast-Benutzermodustreiber empfängt, wenn der Anzeige-Miniporttreiber die DxgkCbMiracastSendMessage--Funktion aufruft.

Syntax

PFN_HANDLE_KMD_MESSAGE PfnHandleKmdMessage;

NTSTATUS PfnHandleKmdMessage(
  [in]  PVOID pMiracastContext,
  [in]  UINT InputBufferSize,
  [in]  VOID *pInputBuffer,
  [in]  UINT OutputBufferSize,
  [out] VOID *pOutputBuffer,
  [out] UINT *pBytesReturned
)
{...}

Parameter

[in] pMiracastContext

Ein Zeiger auf einen Kontext, der einem Anzeigeadapter zugeordnet ist.

Das Betriebssystem hat den Kontext erhalten, wenn er die CreateMiracastContext- Funktion des Miracast-Benutzermodustreibers aufgerufen hat.

[in] InputBufferSize

Die Größe des Eingabepuffers pInputBuffervom Betriebssystem bereitgestellt.

[in] pInputBuffer

Ein Zeiger auf den Eingabepuffer, der vom Betriebssystem bereitgestellt wird.

[in] OutputBufferSize

Die Größe des Ausgabepuffers pOutputBuffervom Betriebssystem bereitgestellt.

[out] pOutputBuffer

Ein Zeiger auf den Ausgabepuffer, der vom Betriebssystem bereitgestellt wird.

[out] pBytesReturned

Ein Zeiger auf einen Puffer, der vom Betriebssystem bereitgestellt wird und die Anzahl der zurückgegebenen Bytes enthält, die der Anzeige-Miniporttreiber in pOutputBuffergeschrieben hat.

Rückgabewert

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

Bemerkungen

Threadsicherheit

Wenn diese Funktion aufgerufen wird, ist es möglich, dass sie auch in einem anderen Thread aufgerufen wurde. Der Treiber ist daher für die Synchronisierung mehrerer Aufrufe an HandleKernelModeMessage bei Bedarf verantwortlich.

Das Betriebssystem garantiert, dass diese Funktion nicht aufgerufen wird, wenn CreateMiracastContext, DestroyMiracastContext, StartMiracastSessionund StopMiracastSession aufgerufen werden. Alle Nachrichten, die der Anzeigeminiporttreiber während des Starts einer verbundenen Miracast-Sitzung sendet (StartMiracastSession) werden blockiert, bis der Sitzungsstartvorgang abgeschlossen ist. Das Betriebssystem blockiert auch alle Nachrichten, die der Display-Miniporttreiber während oder nach einem Anruf sendet, um die Miracast-Sitzung zu beenden (StopMiracastSession).

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

DxgkCbMiracastSendMessage

StartMiracastSession

StopMiracastSession