1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
#ifndef __FILTERUSER_H__
#define __FILTERUSER_H__
//
// Temp file to test filter
//
#define _NDIS_CONTROL_CODE(request,method) \
CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
#define IOCTL_FILTER_RESTART_ALL _NDIS_CONTROL_CODE(0, METHOD_BUFFERED)
#define IOCTL_FILTER_RESTART_ONE_INSTANCE _NDIS_CONTROL_CODE(1, METHOD_BUFFERED)
#define IOCTL_FILTER_ENUERATE_ALL_INSTANCES _NDIS_CONTROL_CODE(2, METHOD_BUFFERED)
#define IOCTL_FILTER_ENUMERATE_ALL_INSTANCES IOCTL_FILTER_ENUERATE_ALL_INSTANCES
#define IOCTL_FILTER_QUERY_ALL_STAT _NDIS_CONTROL_CODE(3, METHOD_BUFFERED)
#define IOCTL_FILTER_CLEAR_ALL_STAT _NDIS_CONTROL_CODE(4, METHOD_BUFFERED)
#define IOCTL_FILTER_SET_OID_VALUE _NDIS_CONTROL_CODE(5, METHOD_BUFFERED)
#define IOCTL_FILTER_QUERY_OID_VALUE _NDIS_CONTROL_CODE(6, METHOD_BUFFERED)
#define IOCTL_FILTER_CANCEL_REQUEST _NDIS_CONTROL_CODE(7, METHOD_BUFFERED)
#define IOCTL_FILTER_READ_DRIVER_CONFIG _NDIS_CONTROL_CODE(8, METHOD_BUFFERED)
#define IOCTL_FILTER_WRITE_DRIVER_CONFIG _NDIS_CONTROL_CODE(9, METHOD_BUFFERED)
#define IOCTL_FILTER_READ_ADAPTER_CONFIG _NDIS_CONTROL_CODE(10, METHOD_BUFFERED)
#define IOCTL_FILTER_WRITE_ADAPTER_CONFIG _NDIS_CONTROL_CODE(11, METHOD_BUFFERED)
#define IOCTL_FILTER_READ_INSTANCE_CONFIG _NDIS_CONTROL_CODE(12, METHOD_BUFFERED)
#define IOCTL_FILTER_WRITE_INSTANCE_CONFIG _NDIS_CONTROL_CODE(13, METHOD_BUFFERED)
#define MAX_FILTER_INSTANCE_NAME_LENGTH 256
#define MAX_FILTER_CONFIG_KEYWORD_LENGTH 256
typedef struct _FILTER_DRIVER_ALL_STAT
{
ULONG AttachCount;
ULONG DetachCount;
ULONG ExternalRequestFailedCount;
ULONG ExternalRequestSuccessCount;
ULONG InternalRequestFailedCount;
} FILTER_DRIVER_ALL_STAT, * PFILTER_DRIVER_ALL_STAT;
typedef struct _FILTER_SET_OID
{
WCHAR InstanceName[MAX_FILTER_INSTANCE_NAME_LENGTH];
ULONG InstanceNameLength;
NDIS_OID Oid;
NDIS_STATUS Status;
UCHAR Data[sizeof(ULONG)];
}FILTER_SET_OID, *PFILTER_SET_OID;
typedef struct _FILTER_QUERY_OID
{
WCHAR InstanceName[MAX_FILTER_INSTANCE_NAME_LENGTH];
ULONG InstanceNameLength;
NDIS_OID Oid;
NDIS_STATUS Status;
UCHAR Data[sizeof(ULONG)];
}FILTER_QUERY_OID, *PFILTER_QUERY_OID;
typedef struct _FILTER_READ_CONFIG
{
_Field_size_bytes_part_(MAX_FILTER_INSTANCE_NAME_LENGTH,InstanceNameLength)
WCHAR InstanceName[MAX_FILTER_INSTANCE_NAME_LENGTH];
ULONG InstanceNameLength;
_Field_size_bytes_part_(MAX_FILTER_CONFIG_KEYWORD_LENGTH,KeywordLength)
WCHAR Keyword[MAX_FILTER_CONFIG_KEYWORD_LENGTH];
ULONG KeywordLength;
NDIS_PARAMETER_TYPE ParameterType;
NDIS_STATUS Status;
UCHAR Data[sizeof(ULONG)];
}FILTER_READ_CONFIG, *PFILTER_READ_CONFIG;
typedef struct _FILTER_WRITE_CONFIG
{
_Field_size_bytes_part_(MAX_FILTER_INSTANCE_NAME_LENGTH,InstanceNameLength)
WCHAR InstanceName[MAX_FILTER_INSTANCE_NAME_LENGTH];
ULONG InstanceNameLength;
_Field_size_bytes_part_(MAX_FILTER_CONFIG_KEYWORD_LENGTH,KeywordLength)
WCHAR Keyword[MAX_FILTER_CONFIG_KEYWORD_LENGTH];
ULONG KeywordLength;
NDIS_PARAMETER_TYPE ParameterType;
NDIS_STATUS Status;
UCHAR Data[sizeof(ULONG)];
}FILTER_WRITE_CONFIG, *PFILTER_WRITE_CONFIG;
#endif //__FILTERUSER_H__
|