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