NDISUIO Implementation
9/8/2008
NDISUIO é implementado como um driver protocolo NDIS. Como um driver protocolo, NDISUIO é NDIS-ciente e pode diretamente aberto um driver de miniporta NDIS enviar solicitações, definir e informações consulta. NDISUIO fornece uma interface entre um usuário-aplicativo modo e usando NDIS DeviceIoControl.
Carregar aplicativos NDISUIO de um DriverEntry Rotina. As chamadas aplicativo para CreateFile Para gerar um identificador de arquivo e associa o identificador de arquivo com o dispositivo rede destino enviando IOCTL_NDISUIO_OPEN_DEVICEa partir DeviceIoControl. O aplicativo usa um identificador de arquivo para cada dispositivo que ele se comunica com.
O seguinte mostra como chamar CreateFile Para obter um identificador para o dispositivo.
hAdapter = CreateFile(
NDISUIO_DEVICE_NAME,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
INVALID_HANDLE_VALUE);
A seguinte função chamar mostra o uso de IOCTL_NDISUIO_OPEN_DEVICE Para criar uma ligação com um dispositivo rede NE20001 usando o identificador obtida CreateFile.
DeviceIoControl(
hAdapter,
IOCTL_NDISUIO_OPEN_DEVICE,
TEXT("NE20001"),
wcslen(TEXT("NE20001")) * sizeof(TCHAR),
NULL,
0,
&dwReturnedBytes,
NULL);
A seguinte lista mostra as operações NDISUIO Usando o objeto arquivo:
- Operações de leitura e gravação
- Enviar ou consulta OIDs NDIS
- Recebimento BIND e desacoplar notificações
See Also
Concepts
NDIS User-Mode I/O Driver
NDISUIO Operations
Simultaneous Access for Multiple Applications
NDISUIO Driver Registration
NDISUIO Binding and Unbinding