Fråga : fltdefs.h-källa som används av (rllibby) Russell,

http://www.ndis.com/papers/winpktfilter.htm#W2KPktFilterInterface
Källan var tar bort i ndis-legitimationshandlingar anknyter;
Var kunde jag finna den?  Anknyta.

Och I-förmiddag som frågar också;
Vad
jag att konvertera för att köra en firewall i utsikt eller 7 från delphi7/9?
Var är källan  anknyta.

Tack.
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:
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 var den delphi omvandlingen av fltdefs.h, men var är källan?

enhetsfltdefs;
////////////////////////////////////////////////////////////////////////////////
//
//   Delphi omvandling av fltdefs.h för bruk med IPHLPAPI.DLLEN
//
////////////////////////////////////////////////////////////////////////////////
ha kontakt

bruk
  Windows;

const
  IPHLPAPI          =  ”IPHLPAPI.DLL”;

// bytesamling
typ
  TByteArray        =  samling [0. Pred (MaxInt)] av byten;
  PByteArray        =  ^TByteArray;

// datatyper
typ
  FILTER_HANDLE     =  pekare;
  PFILTER_HANDLE    =  ^FILTER_HANDLE;
  INTERFACE_HANDLE  =  pekare;
  PINTERFACE_HANDLE =  ^INTERFACE_HANDLE;

// GlobalFilter uppräkning
const
  GF_FRAGMENTS      =  2;
  GF_STRONGHOST     =  8;
  GF_FRAGCACHE      =  9;

typ
  GLOBAL_FILTER     =  heltal;
  PGLOBAL_FILTER    =  ^GLOBAL_FILTER;

// PFAddressType uppräkning
const
  PF_IPV4           =  0;
  PF_IPV6           =  1;

typ
  PFADDRESSTYPE     =  heltal;
  PPFADDRESSTYPE    =  ^PFADDRESSTYPE;

// PFForwardAction uppräkning
const
  PF_ACTION_FORWARD =  0;
  PF_ACTION_DROP    =  1;

typ
  PFFORWARD_ACTION  =  heltal;
  PPFFORWARD_ACTION =  ^PPFFORWARD_ACTION;

// PFFrameType uppräkning
const
  PFFT_FILTER       =  1;
  PFFT_FRAG         =  2;
  PFFT_SPOOF        =  3;

typ
  PFFRAMETYPE       =  heltal;
  PPFFRAMETYPE      =  ^PFFRAMETYPE;

typ
  _PF_FILTER_DESCRIPTOR   =  packat rekord
     dwFilterFlags:       DWORD;
     dwRule:              DWORD;
     pfatType:            PFADDRESSTYPE;
     SrcAddr:             PByteArray;
     SrcMask:             PByteArray;
     DstAddr:             PByteArray;
     DstMask:             PByteArray;
     dwProtocol:          DWORD;
     fLateBound:          DWORD;
     wSrcPort:            Uttrycka;
     wDstPort:            Uttrycka;
     wSrcPortHighRange:   Uttrycka;
     wDstPortHighRange:   Uttrycka;
  avsluta;
  PF_FILTER_DESCRIPTOR    =  _PF_FILTER_DESCRIPTOR;
  PPF_FILTER_DESCRIPTOR   =  ^PF_FILTER_DESCRIPTOR;

typ
  _PF_FILTER_STATS        =  packat rekord
     dwNumPacketsFiltered: DWORD;
     info:                PF_FILTER_DESCRIPTOR;
  avsluta;
  PF_FILTER_STATS         =  _PF_FILTER_STATS;
  PPF_FILTER_STATS        =  ^PF_FILTER_STATS;

typ
  _PF_INTERFACE_STATS     =  packat rekord
     pvDriverContext:     Pekare;
     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:          Samling [0..0] av PF_FILTER_STATS;
  avsluta;
  PF_INTERFACE_STATS      =  _PF_INTERFACE_STATS;
  PPF_INTERFACE_STATS     =  ^PF_INTERFACE_STATS;

typ
  _PF_LATEBIND_INFO       =  packat rekord
     SrcAddr:             PByteArray;
     DstAddr:             PByteArray;
     Maskera:                PByteArray;
  avsluta;
  PF_LATEBIND_INFO        =  _PF_LATEBIND_INFO;
  PPF_LATEBIND_INFO       =  ^PF_LATEBIND_INFO;

typ
  _PFLOGFRAME             =  packat rekord
     Tidsstämpel:           LARGE_INTEGER;
     pfeTypeOfFrame:      PFFRAMETYPE;
     dwTotalSizeUsed:     DWORD;
     dwFilterRule:        DWORD;
     wSizeOfAdditionalData: Uttrycka;
     wSizeOfIpHeader:     Uttrycka;
     dwInterfaceName:     DWORD;
     dwIPIndex:           DWORD;
     bPacketData:         Samling [0..0] av byten;
  avsluta;
  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); // gick tillbaka aldrig.
  PFERROR_NO_FILTERS_GIVEN      =  (ERROR_BASE + 1);
  PFERROR_BUFFER_TOO_SMALL      =  (ERROR_BASE + 2);
  ERROR_IPV6_NOT_IMPLEMENTED    =  (ERROR_BASE + 3);

////////////////////////////////////////////////////////////////////////////////
//
// filtrerar fungerar exporterat av IPHLPAPI
//
////////////////////////////////////////////////////////////////////////////////
fungera   PfCreateInterface (
           dwName:           DWORD;
           inAction:         PFFORWARD_ACTION;
           outAction:        PFFORWARD_ACTION;
           bUseLog:          BOOL;
           bMustBeUnique:    BOOL;
           var-ppInterface:  INTERFACE_HANDLE): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfCreateInterface@24”;

fungera   PfDeleteInterface (
           pInterface:       INTERFACE_HANDLE): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfDeleteInterface@4”;

fungera   PfAddFiltersToInterface (
           ih:               INTERFACE_HANDLE;
           cInFilters:       DWORD;
           pfiltIn:          PPF_FILTER_DESCRIPTOR;
           cOutFilters:      DWORD;
           pfiltOut:         PPF_FILTER_DESCRIPTOR;
           pfHandle:         PFILTER_HANDLE): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfAddFiltersToInterface@24”;

fungera   PfRemoveFiltersFromInterface (
           ih:               INTERFACE_HANDLE;
           cInFilters:       DWORD;
           pfiltIn:          PPF_FILTER_DESCRIPTOR;
           cOutFilters:      DWORD;
           pfiltOut:         PPF_FILTER_DESCRIPTOR): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfRemoveFiltersFromInterface@20”;

fungera   PfRemoveFilterHandles (
           pInterface:       INTERFACE_HANDLE;
           cFilters:         DWORD;
           pvHandles:        PFILTER_HANDLE): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfRemoveFilterHandles@12”;

fungera   PfUnBindInterface (
           pInterface:       INTERFACE_HANDLE): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfUnBindInterface@4”;

fungera   PfBindInterfaceToIndex (
           pInterface:       INTERFACE_HANDLE;
           dwIndex:          DWORD;
           pfatLinkType:     PFADDRESSTYPE;
           LinkIPAddress:    PByteArray): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfBindInterfaceToIndex@16”;

fungera   PfBindInterfaceToIPAddress (
           pInterface:       INTERFACE_HANDLE;
           pfatLinkType:     PFADDRESSTYPE;
           IP address:        PByteArray): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfBindInterfaceToIPAddress@12”;

fungera   PfRebindFilters (
           pInterface:       INTERFACE_HANDLE;
           pLateBindInfo:    PPF_LATEBIND_INFO): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfRebindFilters@8”;

fungera   PfAddGlobalFilterToInterface (
           pInterface:       INTERFACE_HANDLE;
           gfFilter:         GLOBAL_FILTER): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfAddGlobalFilterToInterface@8”;

fungera   PfRemoveGlobalFilterFromInterface (
           pInterface:       INTERFACE_HANDLE;
           gfFilter:         GLOBAL_FILTER): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfRemoveGlobalFilterFromInterface@8”;

////////////////////////////////////////////////////////////////////////////////
//
// loggar APIs. Notera att det finns på mest en loggar och den måste skapas
// för några har kontakt behöva det skapas. Det finns inget långt till uppsättning a
// loggar på ett existerande har kontakt. Logga kan appliceras till några eller alla av
// har kontakt.
//
///////////////////////////////////////////////////////////////////////
fungera   PfMakeLog (
           hEvent:           THandle): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfMakeLog@4”;

fungera   PfSetLogBuffer (
           pbBuffer:         PByteArray;
           dwSize:           DWORD;
           dwThreshold:      DWORD;
           dwEntries:        DWORD;
           pdwLoggedEntries: PDWORD;
           pdwLostEntries:   PDWORD;
           pdwSizeUsed:      PDWORD): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfSetLogBuffer@28”;

fungera   PfDeleteLog (
           ): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfDeleteLog@0”;

////////////////////////////////////////////////////////////////////////////////
//
// får statistik. Notera pdwBufferSize i en IN-/OUTparameter. Om
// ERROR_INSUFFICIENT_BUFFER gås tillbaka, allmänningstatistiken är
tillgängliga // och den korrekta byteräkningen är *pdwBufferSize in. Om endast
// har kontakt statistik är nödvändig, ger en fungera som buffert av storleksanpassar
// PF_INTERFACE_STATS endast. Om filtrerabeskrivningarna behövs också,
// levererar därefter ett stort fungera som buffert eller använder den gångna tillbaka räkningen från den första appellen
// som tilldelar en fungera som buffert av tillräckligt, storleksanpassar. Notera det för delad har kontakt,
// som detta understöder appell, kan missa med ERROR_INSUFFICIENT_BUFFER. Detta kan hända
//, om de andra sharersna tillfogar, filtrerar i interimsen. Detta bör inte hända för
// som ett UNIKT har kontakt.
//
////////////////////////////////////////////////////////////////////////////////
fungera   PfGetInterfaceStatistics (
           pInterface:       INTERFACE_HANDLE;
           ppfStats:         PPF_INTERFACE_STATS;
           pdwBufferSize:    PDWORD;
           fResetCounters:   BOOL): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfGetInterfaceStatistics@16”;

////////////////////////////////////////////////////////////////////////////////
//
// testar ett paket. Denna ska appell utvärderar paketet mot given
// har kontakt och går den filtrera handlingen tillbaka.
//
////////////////////////////////////////////////////////////////////////////////
fungera   PfTestPacket (
           pInInterface:     INTERFACE_HANDLE;
           pOutInterface:    INTERFACE_HANDLE;
           cBytes:           DWORD;
           pbPacket:         PByteArray;
           ppAction:         PPFFORWARD_ACTION): DWORD;
           stdcall; utsidan IPHLPAPI namnger ”_PfTestPacket@20”;

genomförande

avsluta.

Svar : fltdefs.h-källa som används av (rllibby) Russell,

DNS lokaliseras i din områdeskontrollant för folk på ditt område (knyta kontakt).  Whomever varar värd din utsida DNS huruvida din ISP eller, något som är lik, knyter kontakt lösningar som du skulle måste att finna ut.

Om du ändrar OWA, utan att uppdatera DNS-rekorden though dina ska användare, var oförmögen att finna OWA, som DNS är hur datorfyndet stoppar på internet.  

Tack
Andra lösningar  
 
programming4us programming4us