Implementazione di IOCTLs per un provider di servizi SAN
Se un provider di servizi SAN invia richieste di I/O (IOCTL) al driver proxy, il driver deve implementare una routine di invio IRP_MJ_DEVICE_CONTROL per elaborare queste richieste. Una richiesta IOCTL può essere una richiesta per recuperare l'elenco di indirizzi IP assegnati alle schede di interfaccia di rete del driver, ad esempio o una richiesta di allocare o rilasciare memoria. La routine DriverEntry deve specificare un punto di ingresso per la routine di invio.
La routine di controllo del dispositivo del driver proxy chiama la funzione IoGetCurrentIrpStackLocation , in cui la routine di controllo del dispositivo passa un puntatore all'IRP passato alla routine. La routine di controllo del dispositivo determina quindi la richiesta IOCTL ricevuta e elabora di conseguenza la richiesta.
Al termine della richiesta IOCTL corrente, la routine di controllo del dispositivo chiama la funzione IoCompleteRequest e passa lo stato dell'operazione. Questo stato viene restituito al provider di servizi SAN.