Partager via


PFN_HANDLE_KMD_MESSAGE fonction de rappel (netdispumdddi.h)

Appelé par le système d’exploitation pour gérer le message asynchrone en mode noyau que le pilote en mode utilisateur Miracast reçoit lorsque le pilote miniport d’affichage appelle la fonction DxgkCbMiracastSendMessage.

Syntaxe

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

Paramètres

[in] pMiracastContext

Pointeur vers un contexte associé à un adaptateur d’affichage.

Le système d’exploitation a obtenu le contexte lorsqu’il a appelé la fonction CreateMiracastContext du pilote en mode utilisateur Miracast.

[in] InputBufferSize

Taille de la mémoire tampon d’entrée pInputBuffer, fournie par le système d’exploitation.

[in] pInputBuffer

Pointeur vers la mémoire tampon d’entrée fournie par le système d’exploitation.

[in] OutputBufferSize

Taille de la mémoire tampon de sortie pOutputBuffer, fournie par le système d’exploitation.

[out] pOutputBuffer

Pointeur vers la mémoire tampon de sortie, fourni par le système d’exploitation.

[out] pBytesReturned

Pointeur vers une mémoire tampon, fournie par le système d’exploitation, qui contient le nombre d’octets retournés par le pilote miniport d’affichage écrit dans pOutputBuffer.

Valeur de retour

En cas de réussite, cette fonction retourne STATUS_SUCCESS. Sinon, la fonction retourne un code d’erreur défini dans l’en-tête Ntstatus.h.

Remarques

Sécurité des threads

Lorsque cette fonction est appelée, il est possible qu’elle ait également été appelée dans un autre thread. Le pilote est donc responsable de la synchronisation de plusieurs appels vers HandleKernelModeMessage si nécessaire.

Le système d’exploitation garantit que cette fonction n’est pas appelée lorsque CreateMiracastContext, DestroyMiracastContext, StartMiracastSessionet StopMiracastSession sont appelées. Tous les messages envoyés par le pilote miniport d’affichage au démarrage d’une session connectée Miracast (StartMiracastSession) sont bloqués jusqu’à ce que le processus de démarrage de la session soit terminé. Le système d’exploitation bloque également tous les messages envoyés par le pilote miniport d’affichage pendant ou après un appel pour arrêter la session Miracast (StopMiracastSession).

Exigences

Exigence Valeur
client minimum pris en charge Windows 8.1
serveur minimum pris en charge Windows Server 2012 R2
plateforme cible Bureau
d’en-tête netdispumdddi.h (include Netdispumdddi.h)

Voir aussi

CreateMiracastContext

DestroyMiracastContext

DxgkCbMiracastSendMessage

StartMiracastSession

StopMiracastSession