Frage : fltdefs.h Quelle, verwendet durch Russell (rllibby)

http://www.ndis.com/papers/winpktfilter.htm#W2KPktFilterInterface
Die Quelle war entfernen in der NDIS-Papierverbindung;
Wo könnte ich sie finden?  Die Verbindung.

Und ich bitte auch;
Was
soll ich umwandeln, um eine Brandmauer im Vista oder 7 von delphi7/9 laufen zu lassen?
Wo die Quelle die  Verbindung ist.

Danke.
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:
6:
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:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
//This war die Delphi-Umwandlung von fltdefs.h, aber wo ist die Quelle?

Maßeinheit fltdefs;
////////////////////////////////////////////////////////////////////////////////
//
Umwandlung   //-Delphi von fltdefs.h für Gebrauch mit dem IPHLPAPI.DLL
//
////////////////////////////////////////////////////////////////////////////////
Schnittstelle

Gebrauch
  Windows;

const
  IPHLPAPI          =  „IPHLPAPI.DLL“;

//-Bytereihe
Art
  TByteArray        =  Reihe [0. Pred (MaxInt)] vom Byte;
  PByteArray        =  ^TByteArray;

//-Datenarten
Art
  FILTER_HANDLE     =  Zeiger;
  PFILTER_HANDLE    =  ^FILTER_HANDLE;
  INTERFACE_HANDLE  =  Zeiger;
  PINTERFACE_HANDLE =  ^INTERFACE_HANDLE;

Aufzählung //-GlobalFilter
const
  GF_FRAGMENTS      =  2;
  GF_STRONGHOST     =  8;
  GF_FRAGCACHE      =  9;

Art
  GLOBAL_FILTER     =  ganze Zahl;
  PGLOBAL_FILTER    =  ^GLOBAL_FILTER;

Aufzählung //-PFAddressType
const
  PF_IPV4           =  0;
  PF_IPV6           =  1;

Art
  PFADDRESSTYPE     =  ganze Zahl;
  PPFADDRESSTYPE    =  ^PFADDRESSTYPE;

Aufzählung //-PFForwardAction
const
  PF_ACTION_FORWARD =  0;
  PF_ACTION_DROP    =  1;

Art
  PFFORWARD_ACTION  =  ganze Zahl;
  PPFFORWARD_ACTION =  ^PPFFORWARD_ACTION;

Aufzählung //-PFFrameType
const
  PFFT_FILTER       =  1;
  PFFT_FRAG         =  2;
  PFFT_SPOOF        =  3;

Art
  PFFRAMETYPE       =  ganze Zahl;
  PPFFRAMETYPE      =  ^PFFRAMETYPE;

Art
  _PF_FILTER_DESCRIPTOR   =  verpackte Aufzeichnung
     dwFilterFlags:       DWORD;
     dwRule:              DWORD;
     pfatType:            PFADDRESSTYPE;
     SrcAddr:             PByteArray;
     SrcMask:             PByteArray;
     DstAddr:             PByteArray;
     DstMask:             PByteArray;
     dwProtocol:          DWORD;
     fLateBound:          DWORD;
     wSrcPort:            Wort;
     wDstPort:            Wort;
     wSrcPortHighRange:   Wort;
     wDstPortHighRange:   Wort;
  Ende;
  PF_FILTER_DESCRIPTOR    =  _PF_FILTER_DESCRIPTOR;
  PPF_FILTER_DESCRIPTOR   =  ^PF_FILTER_DESCRIPTOR;

Art
  _PF_FILTER_STATS        =  verpackte Aufzeichnung
     dwNumPacketsFiltered: DWORD;
     Info:                PF_FILTER_DESCRIPTOR;
  Ende;
  PF_FILTER_STATS         =  _PF_FILTER_STATS;
  PPF_FILTER_STATS        =  ^PF_FILTER_STATS;

Art
  _PF_INTERFACE_STATS     =  verpackte Aufzeichnung
     pvDriverContext:     Zeiger;
     dwFlags:             DWORD;
     dwInDrops:           DWORD;
     dwOutDrops:          DWORD;
     eaInAction:          PFFORWARD_ACTION;
     eaOutAction:         PFFORWARD_ACTION;
     dwNumInFilters:      DWORD;
     dwNumOutFilters:     DWORD;
     dwFrag:              DWORD;
     dwSpoof:             DWORD;
     dwReserved1:         DWORD;
     dwReserved2:         DWORD;
     liSyn:               LARGE_INTEGER;
     liTotalLogged:       LARGE_INTEGER;
     dwLostLogEntries:    DWORD;
     FilterInfo:          Reihe [0..0] PF_FILTER_STATS;
  Ende;
  PF_INTERFACE_STATS      =  _PF_INTERFACE_STATS;
  PPF_INTERFACE_STATS     =  ^PF_INTERFACE_STATS;

Art
  _PF_LATEBIND_INFO       =  verpackte Aufzeichnung
     SrcAddr:             PByteArray;
     DstAddr:             PByteArray;
     Schablone:                PByteArray;
  Ende;
  PF_LATEBIND_INFO        =  _PF_LATEBIND_INFO;
  PPF_LATEBIND_INFO       =  ^PF_LATEBIND_INFO;

Art
  _PFLOGFRAME             =  verpackte Aufzeichnung
     Zeitstempel:           LARGE_INTEGER;
     pfeTypeOfFrame:      PFFRAMETYPE;
     dwTotalSizeUsed:     DWORD;
     dwFilterRule:        DWORD;
     wSizeOfAdditionalData: Wort;
     wSizeOfIpHeader:     Wort;
     dwInterfaceName:     DWORD;
     dwIPIndex:           DWORD;
     bPacketData:         Reihe [0..0] des Bytes;
  Ende;
  PFLOGFRAME              =  _PFLOGFRAME;
  PPFLOGFRAME             =  ^PFLOGFRAME;

const
  FILTER_PROTO_ANY        =  $00;
  FILTER_PROTO_ICMP       =  $01;
  FILTER_PROTO_TCP        =  $06;
  FILTER_PROTO_UDP        =  $11;
  FILTER_TCPUDP_PORT_ANY  =  $00;

const
  FILTER_ICMP_TYPE_ANY    =  $FF;
  FILTER_ICMP_CODE_ANY    =  $FF;

const
  FD_FLAGS_NOSYN          =  $01;
  FD_FLAGS_ALLFLAGS       =  FD_FLAGS_NOSYN;

const
  LB_SRC_ADDR_USE_SRCADDR_FLAG  =  $00000001;
  LB_SRC_ADDR_USE_DSTADDR_FLAG  =  $00000002;
  LB_DST_ADDR_USE_SRCADDR_FLAG  =  $00000004;
  LB_DST_ADDR_USE_DSTADDR_FLAG  =  $00000008;
  LB_SRC_MASK_LATE_FLAG         =  $00000010;
  LB_DST_MASK_LATE_FLAG         =  $00000020;

const
  ERROR_BASE                    =  23000;
  PFERROR_NO_PF_INTERFACE       =  (ERROR_BASE + 0); // ging nie zurück.
  PFERROR_NO_FILTERS_GIVEN      =  (ERROR_BASE + 1);
  PFERROR_BUFFER_TOO_SMALL      =  (ERROR_BASE + 2);
  ERROR_IPV6_NOT_IMPLEMENTED    =  (ERROR_BASE + 3);

////////////////////////////////////////////////////////////////////////////////
//
//-Filterfunktionen exportiert durch IPHLPAPI
//
////////////////////////////////////////////////////////////////////////////////
Funktion   PfCreateInterface (
           dwName:           DWORD;
           Untätigkeit:         PFFORWARD_ACTION;
           outAction:        PFFORWARD_ACTION;
           bUseLog:          BOOL;
           bMustBeUnique:    BOOL;
           var ppInterface:  INTERFACE_HANDLE): DWORD;
           stdcall; externer IPHLPAPI Name „_PfCreateInterface@24“;

Funktion   PfDeleteInterface (
           pInterface:       INTERFACE_HANDLE): DWORD;
           stdcall; externer IPHLPAPI Name „_PfDeleteInterface@4“;

Funktion   PfAddFiltersToInterface (
           ih:               INTERFACE_HANDLE;
           cInFilters:       DWORD;
           pfiltIn:          PPF_FILTER_DESCRIPTOR;
           cOutFilters:      DWORD;
           pfiltOut:         PPF_FILTER_DESCRIPTOR;
           pfHandle:         PFILTER_HANDLE): DWORD;
           stdcall; externer IPHLPAPI Name „_PfAddFiltersToInterface@24“;

Funktion   PfRemoveFiltersFromInterface (
           ih:               INTERFACE_HANDLE;
           cInFilters:       DWORD;
           pfiltIn:          PPF_FILTER_DESCRIPTOR;
           cOutFilters:      DWORD;
           pfiltOut:         PPF_FILTER_DESCRIPTOR): DWORD;
           stdcall; externer IPHLPAPI Name „_PfRemoveFiltersFromInterface@20“;

Funktion   PfRemoveFilterHandles (
           pInterface:       INTERFACE_HANDLE;
           cFilters:         DWORD;
           pvHandles:        PFILTER_HANDLE): DWORD;
           stdcall; externer IPHLPAPI Name „_PfRemoveFilterHandles@12“;

Funktion   PfUnBindInterface (
           pInterface:       INTERFACE_HANDLE): DWORD;
           stdcall; externer IPHLPAPI Name „_PfUnBindInterface@4“;

Funktion   PfBindInterfaceToIndex (
           pInterface:       INTERFACE_HANDLE;
           dwIndex:          DWORD;
           pfatLinkType:     PFADDRESSTYPE;
           LinkIPAddress:    PByteArray): DWORD;
           stdcall; externer IPHLPAPI Name „_PfBindInterfaceToIndex@16“;

Funktion   PfBindInterfaceToIPAddress (
           pInterface:       INTERFACE_HANDLE;
           pfatLinkType:     PFADDRESSTYPE;
           IP address:        PByteArray): DWORD;
           stdcall; externer IPHLPAPI Name „_PfBindInterfaceToIPAddress@12“;

Funktion   PfRebindFilters (
           pInterface:       INTERFACE_HANDLE;
           pLateBindInfo:    PPF_LATEBIND_INFO): DWORD;
           stdcall; externer IPHLPAPI Name „_PfRebindFilters@8“;

Funktion   PfAddGlobalFilterToInterface (
           pInterface:       INTERFACE_HANDLE;
           gfFilter:         GLOBAL_FILTER): DWORD;
           stdcall; externer IPHLPAPI Name „_PfAddGlobalFilterToInterface@8“;

Funktion   PfRemoveGlobalFilterFromInterface (
           pInterface:       INTERFACE_HANDLE;
           gfFilter:         GLOBAL_FILTER): DWORD;
           stdcall; externer IPHLPAPI Name „_PfRemoveGlobalFilterFromInterface@8“;

////////////////////////////////////////////////////////////////////////////////
//
//-Maschinenbordbuch-API. Merken, dass es höchstens ein Maschinenbordbuch gibt und es hergestellt werden muss
// vor jeder möglicher Schnittstelle, die es benötigt, wird verursacht. Es gibt keine Weise, a einzustellen
//-Maschinenbordbuch auf eine vorhandene Schnittstelle. Das Maschinenbordbuch kann an irgendwelchen oder an allen von angewendet werden
// die Schnittstellen.
//
///////////////////////////////////////////////////////////////////////
Funktion   PfMakeLog (
           hEvent:           Quergriff): DWORD;
           stdcall; externer IPHLPAPI Name „_PfMakeLog@4“;

Funktion   PfSetLogBuffer (
           pbBuffer:         PByteArray;
           dwSize:           DWORD;
           dwThreshold:      DWORD;
           dwEntries:        DWORD;
           pdwLoggedEntries: PDWORD;
           pdwLostEntries:   PDWORD;
           pdwSizeUsed:      PDWORD): DWORD;
           stdcall; externer IPHLPAPI Name „_PfSetLogBuffer@28“;

Funktion   PfDeleteLog (
           ): DWORD;
           stdcall; externer IPHLPAPI Name „_PfDeleteLog@0“;

////////////////////////////////////////////////////////////////////////////////
//
// erhalten Statistiken. Merken pdwBufferSize in einem IN/OUT Parameter. Wenn
// ERROR_INSUFFICIENT_BUFFER wird, die allgemeinen Statistiken sind zurückgebracht
vorhandenes // und die korrekte Byteanzahl ist *pdwBufferSize innen. Wenn nur
//-Schnittstellenstatistiken sind, liefern einen Puffer der Größe erforderlich
// nur PF_INTERFACE_STATS. Wenn die Filterbeschreibungen auch benötigt werden,
// liefern dann einen großen Puffer oder verwenden den zurückgebrachten Zählimpuls vom ersten Ruf
//, zum eines Puffers der genügenden Größe zuzuteilen. Das für eine geteilte Schnittstelle merken,
//, das dieser zweite Anruf mit ERROR_INSUFFICIENT_BUFFER verlassen kann. Dieses kann geschehen
//, wenn die anderen Sharers Filter in der Zwischenzeit addieren. Dieses sollte nicht für geschehen
// eine EINZIGARTIGE Schnittstelle.
//
////////////////////////////////////////////////////////////////////////////////
Funktion   PfGetInterfaceStatistics (
           pInterface:       INTERFACE_HANDLE;
           ppfStats:         PPF_INTERFACE_STATS;
           pdwBufferSize:    PDWORD;
           fResetCounters:   BOOL): DWORD;
           stdcall; externer IPHLPAPI Name „_PfGetInterfaceStatistics@16“;

////////////////////////////////////////////////////////////////////////////////
//
//-Test ein Paket. Dieser Anruf wertet das Paket gegen gegeben aus
//-Schnittstellen und bringen die filterntätigkeit zurück.
//
////////////////////////////////////////////////////////////////////////////////
Funktion   PfTestPacket (
           pInInterface:     INTERFACE_HANDLE;
           pOutInterface:    INTERFACE_HANDLE;
           cBytes:           DWORD;
           pbPacket:         PByteArray;
           ppAction:         PPFFORWARD_ACTION): DWORD;
           stdcall; externer IPHLPAPI Name „_PfTestPacket@20“;

Implementierung

Ende.

Antwort : fltdefs.h Quelle, verwendet durch Russell (rllibby)

DNS ist in Ihrem Gebiets-Steuerpult für Leute auf Ihrem Gebiet (Netz).  Whomever Wirte Ihr External DNS, ob Ihr ISP oder etwas wie Netz-Lösungen Sie würden herausfinden müssen.

Wenn Sie OWA ändern, ohne die DNS-Aufzeichnungen zwar zu aktualisieren, sind Ihre Benutzer nicht imstande, OWA zu finden, da DNS ist, wie Computer Material auf dem Internet finden.  

Danke
Weitere Lösungen  
 
programming4us programming4us