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

Voir aussi

CreateMiracastContext

DestroyMiracastContext

DxgkCbMiracastSendMessage

StartMiracastSession

StopMiracastSession