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 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, fournie 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 que le pilote de miniport d’affichage a écrit dans pOutputBuffer.
Valeur retournée
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
Cohérence de thread
Lorsque cette fonction est appelée, il est possible qu’elle ait également été appelée dans un autre thread. Le pilote est donc chargé de synchroniser plusieurs appels à HandleKernelModeMessage si nécessaire.
Le système d’exploitation garantit que cette fonction n’est pas appelée lorsque CreateMiracastContext, DestroyMiracastContext, StartMiracastSession et StopMiracastSession sont appelés. Tous les messages envoyés par le pilote miniport d’affichage lors du 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 que le pilote de miniport d’affichage envoie pendant ou après un appel pour arrêter la session Miracast (StopMiracastSession).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 |
Serveur minimal pris en charge | Windows Server 2012 R2 |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | netdispumdddi.h (inclure Netdispumdddi.h) |