longueurs de tampon WDF EvtIoDeviceControl
Question
Lors du traitement des demandes de DeviceIoControl dans un pilote de WDF quelle est la bonne façon d'obtenir la taille de la mémoire tampon d'entrée / sortie.
Il semble être à la fois passé en paramètre:
VOID
EvtIoDeviceControl(IN WDFQUEUE Queue, IN WDFREQUEST Request,
IN size_t OutputBufferLength,
IN size_t InputBufferLength,
IN ULONG IoControlCode)
Mais aussi disponible par WdfRequestRetrieveInputBuffer
qui est nécessaire pour l'accès de gain à la mémoire tampon de demande.
Je me demande donc s'il y a une différence entre le paramètre InputBufferLength
et l'ensemble de la valeur par WdfRequestRetrieveInputBuffer
(le paramètre Length
).
La solution
Il n'y a pas de différence entre les deux. Le gars qui a conçu l'interface a pensé qu'il serait pratique d'avoir le paramètre dans les deux endroits. Je ne l'ai jamais trouvé que, pour être le cas, moi-même, mais il est là au cas où vous faites.
Jake Oshins