longitudes tampón WDF EvtIoDeviceControl
Pregunta
Al manejar peticiones DeviceIoControl en un conductor WDF cuál es la forma correcta para obtener el tamaño de la memoria intermedia de entrada / salida.
Parece ser que tanto pasado como parámetro:
VOID
EvtIoDeviceControl(IN WDFQUEUE Queue, IN WDFREQUEST Request,
IN size_t OutputBufferLength,
IN size_t InputBufferLength,
IN ULONG IoControlCode)
Pero también disponible a través de WdfRequestRetrieveInputBuffer
que se requiere con el fin de obtener acceso a la memoria intermedia de peticiones.
soy por lo tanto preguntando si hay una diferencia entre el parámetro InputBufferLength
y el valor ajustado por WdfRequestRetrieveInputBuffer
(el parámetro Length
).
Solución
No hay ninguna diferencia entre los dos. El hombre que diseñó la interfaz pensó que sería conveniente tener el parámetro en ambos lugares. Nunca he encontrado que para ser el caso, a mí mismo, pero está ahí en caso de que lo hace.
Jake Oshins