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