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) |