Implementação de IOCTLs para um provedor de serviços de SAN
Se um provedor de serviços de SAN enviar solicitações de controle de I/O (IOCTL) para o driver de proxy, o driver deverá implementar uma rotina de despacho de IRP_MJ_DEVICE_CONTROL para processar essas solicitações. Uma solicitação IOCTL pode ser uma solicitação para recuperar a lista de endereços IP atribuídos às NICs do driver, por exemplo, ou uma solicitação para alocar ou liberar memória. A rotina DriverEntry deve especificar um ponto de entrada para a rotina de expedição.
A rotina de controlo de dispositivo do driver proxy chama a função IoGetCurrentIrpStackLocation, na qual a rotina de controlo de dispositivo passa um ponteiro para o IRP que foi passado para a rotina. A rotina de controle do dispositivo determina qual solicitação IOCTL foi recebida e processa a solicitação de acordo.
Após a conclusão da solicitação IOCTL atual, a rotina de controlo do dispositivo chama a função IoCompleteRequest e passa o estado da operação. Esse status é retornado ao provedor de serviços SAN.