Domanda

Durante la manipolazione richieste DeviceIoControl in un driver CDR qual è il modo corretto per ottenere la dimensione del buffer di ingresso / uscita.

Sembra essere sia passato come parametro:

VOID
EvtIoDeviceControl(IN WDFQUEUE Queue, IN WDFREQUEST Request,
                   IN size_t OutputBufferLength,
                   IN size_t InputBufferLength,
                   IN ULONG IoControlCode)

Ma disponibile attraverso WdfRequestRetrieveInputBuffer che è richiesto per ottenere l'accesso al buffer richiesta.

Sono quindi chiedo se c'è una differenza tra il parametro InputBufferLength e il valore impostato dal WdfRequestRetrieveInputBuffer (il parametro Length).

È stato utile?

Soluzione

Non c'è alcuna differenza tra i due. Il ragazzo che ha progettato l'interfaccia pensato che sarebbe stato conveniente avere il parametro in entrambi i luoghi. Non ho mai trovato che sia il caso, me stesso, ma è lì nel caso in cui lo fai.

Jake Oshins

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top