4 /* Device names (NT and DOS style) */
5 #define NDISUIO_DEVICE_NAME_NT L"\\Device\\Ndisuio"
6 #define NDISUIO_DEVICE_NAME_DOS L"\\DosDevices\\Ndisuio"
8 /* Device name for user apps */
9 #define NDISUIO_DEVICE_NAME L"\\\\.\\\\Ndisuio"
11 /* Links a file handle with a bound NIC */
12 #define IOCTL_NDISUIO_OPEN_DEVICE \
13 CTL_CODE(FILE_DEVICE_NETWORK, 0x200, METHOD_BUFFERED, FILE_ANY_ACCESS)
15 /* Queries an OID for the bound NIC */
16 #define IOCTL_NDISUIO_QUERY_OID_VALUE \
17 CTL_CODE(FILE_DEVICE_NETWORK, 0x201, METHOD_BUFFERED, FILE_ANY_ACCESS)
19 #define IOCTL_NDISUIO_SET_ETHER_TYPE \
20 CTL_CODE(FILE_DEVICE_NETWORK, 0x202, METHOD_BUFFERED, FILE_ANY_ACCESS)
22 /* Queries binding information during enumeration */
23 #define IOCTL_NDISUIO_QUERY_BINDING \
24 CTL_CODE(FILE_DEVICE_NETWORK, 0x203, METHOD_BUFFERED, FILE_ANY_ACCESS)
26 /* Waits for any pending bindings */
27 #define IOCTL_NDISUIO_BIND_WAIT \
28 CTL_CODE(FILE_DEVICE_NETWORK, 0x204, METHOD_BUFFERED, FILE_ANY_ACCESS)
30 /* Sets an OID for a bound NIC */
31 #define IOCTL_NDISUIO_SET_OID_VALUE \
32 CTL_CODE(FILE_DEVICE_NETWORK, 0x205, METHOD_BUFFERED, FILE_ANY_ACCESS)
34 /* Passed as a parameter to IOCTL_NDISUIO_QUERY_OID_VALUE */
35 typedef struct _NDISUIO_QUERY_OID
38 UCHAR Data
[sizeof(ULONG
)];
39 } NDISUIO_QUERY_OID
, *PNDISUIO_QUERY_OID
;
41 /* Passed as a parameter to IOCTL_NDISUIO_SET_OID_VALUE */
42 typedef struct _NDISUIO_SET_OID
45 UCHAR Data
[sizeof(ULONG
)];
46 } NDISUIO_SET_OID
, *PNDISUIO_SET_OID
;
48 /* Passed as a parameter to IOCTL_NDISUIO_QUERY_BINDING */
49 typedef struct _NDISUIO_QUERY_BINDING
52 ULONG DeviceNameOffset
;
53 ULONG DeviceNameLength
;
54 ULONG DeviceDescrOffset
;
55 ULONG DeviceDescrLength
;
56 } NDISUIO_QUERY_BINDING
, *PNDISUIO_QUERY_BINDING
;