Create Rules Based on Time
The following table shows an example of how to create rules based on time. In this case, outbound traffic from the specified host is allowed between 9:00 PM and 8:00 AM.
dwFlags | wHourStart | wHourEnd |
---|---|---|
FWF_BLOCK | FWF_OUTBOUND | ||
FWF_ALLOW | FWF_OUTBOUND | 21 | 8 |
Registry entries for the rule
The following registry example shows the registry entries for this rule.
[HKEY_LOCAL_MACHINE\COMM\Firewall\Rules\BlockOutbound]
"Mask"=dword:0 ;
"Flags"=dword:11 ; FWF_BLOCK | FWF_OUTBOUND
"PrivateHost"=hex:02,00 ; AF_INET
[HKEY_LOCAL_MACHINE\COMM\Firewall\Rules\AllowOutbound9p8a]
"Mask"=dword:80 ; FWM_TIME_OF_DAY
"Flags"=dword:12 ; FWF_ALLOW | FWF_OUTBOUND
"PrivateHost"=hex:02,00 ; AF_INET
"HourStart"=dword:15 ; 9 PM
"HourEnd"=dword:8 ; 8 AM
Code example to create the rule
The following code example shows this rule.
FW_RULE BlockOutbound;
// The following fields must always be set.
BlockOutbound.dwSize = sizeof(FW_RULE);
BlockOutbound.dwFlags = FWF_BLOCK | FWF_OUTBOUND;
BlockOutbound.dwMask = 0;
BlockOutbound.PrivateHost.Family = AF_INET;
BlockOutbound.wszDescription = L"Block outbound traffic";
// Create a persistent rule.
FirewallCreateRule(&BlockOutbound, TRUE);
FW_RULE AllowOutbound9p8a;
// The following fields must always be set.
AllowOutbound9p8a.dwSize = sizeof(FW_RULE);
AllowOutbound9p8a.dwFlags = FWF_ALLOW | FWF_OUTBOUND;
AllowOutbound9p8a.dwMask = FWM_TIME_OF_DAY;
AllowOutbound9p8a.PrivateHost.Family = AF_INET;
AllowOutbound9p8a.wszDescription = L"Allow outbound traffic from the specified host between the 9 PM and 8 AM";
// Time of day.
AllowOutbound9p8a.wHourStart = 21;
AllowOutbound9p8a.wHourEnd = 8;
// Create a persistent rule.
FirewallCreateRule(&AllowOutbound9p8a, TRUE);
See Also
General Firewall Rule Examples | Default IP Firewall Rules | FW_RULE
Last updated on Tuesday, May 18, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.