Share via


PFN_MIRACAST_IO_CONTROL fonction de rappel (netdispumdddi.h)

Appelé par le pilote d’affichage en mode utilisateur pour envoyer au pilote d’affichage en mode noyau une demande de contrôle d’E/S synchrone. Le type de données de cette fonction est PFN_MIRACAST_IO_CONTROL.

Syntaxe

PFN_MIRACAST_IO_CONTROL PfnMiracastIoControl;

NTSTATUS PfnMiracastIoControl(
  [in]            HANDLE hMiracastDeviceHandle,
  [in]            BOOL HardwareAccess,
  [in]            UINT InputBufferSize,
  [in]            VOID *pInputBuffer,
  [in]            UINT OutputBufferSize,
  [out]           VOID *pOutputBuffer,
  [out, optional] UINT *pBytesReturned
)
{...}

Paramètres

[in] hMiracastDeviceHandle

Handle qui représente un appareil Miracast. Le pilote en mode utilisateur Miracast a précédemment obtenu ce handle en tant que paramètre hMiracastDeviceHandle dans un appel à la fonction CreateMiracastContext .

[in] HardwareAccess

Valeur booléenne qui indique si cette demande de contrôle d’E/S du pilote d’affichage en mode utilisateur doit vider toutes les mémoires tampons DMA GPU en attente.

Nous vous déconseillons de définir cette valeur sur TRUE , sauf si nécessaire, car le vidage du GPU entraîne une surcharge de traitement importante.

[in] InputBufferSize

Taille, en octets, de la mémoire tampon d’entrée pointée par pInputBuffer.

[in] pInputBuffer

Pointeur vers la mémoire tampon d’entrée. Le paramètre InputBufferSize spécifie la taille de la mémoire tampon.

[in] OutputBufferSize

Taille, en octets, de la mémoire tampon de sortie pointée par pOutputBuffer.

[out] pOutputBuffer

Pointeur fourni par le pilote vers la mémoire tampon de sortie. Le paramètre OutputBufferSize spécifie la taille de la mémoire tampon.

[out, optional] pBytesReturned

Pointeur facultatif fourni par le pilote vers une variable de type UINT qui contient le nombre d’octets retourné par le pilote miniport d’affichage.

Valeur retournée

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

Remarques

Si le pilote en mode utilisateur Miracast appelle MiracastIoControl lorsque le système d’exploitation démarre une session Miracast, et si le thread appelant n’est pas le thread dans lequel le système d’exploitation appelle la fonction StartMiracastSession , le système d’exploitation bloque l’appel MiracastIoControl jusqu’à ce que la session de démarrage Miracast soit terminée. Si le pilote en mode utilisateur appelle MiracastIoControl dans le même contexte que celui utilisé dans les fonctions CreateMiracastContext ou StartMiracastSession , le système d’exploitation traite l’appel.

Si le pilote en mode utilisateur Miracast appelle MiracastIoControl lorsque le système d’exploitation arrête une session Miracast, et si le thread appelant n’est pas le thread dans lequel le système d’exploitation appelle la fonction StopMiracastSession , le système d’exploitation échoue à cet appel. Si le pilote en mode utilisateur appelle MiracastIoControl dans le même contexte que celui utilisé dans les fonctions StopMiracastSession ou DestroyMiracastContext , le système d’exploitation traite l’appel.

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

StartMiracastSession

StopMiracastSession