IN VOID *Data OPTIONAL\r
)\r
{\r
-\r
IP4_SERVICE *IpSb;\r
UINTN Length;\r
IP4_CONFIG2_DATA_ITEM *Item;\r
DataItem->Data.Ptr = NULL;\r
DataItem->DataSize = 0;\r
DataItem->Status = EFI_NOT_FOUND;\r
+ SET_DATA_ATTRIB (DataItem->Attribute, DATA_ATTRIB_VOLATILE);\r
NetMapIterate (&DataItem->EventMap, Ip4Config2SignalEvent, NULL);\r
} else {\r
//\r
IN VOID *Data\r
)\r
{\r
+ IP4_CONFIG2_DATA_ITEM *Item;\r
+\r
+ Item = NULL;\r
+\r
if (Instance->Policy != Ip4Config2PolicyStatic) {\r
return EFI_WRITE_PROTECTED;\r
}\r
\r
+ Item = &Instance->DataItem[Ip4Config2DataTypeDnsServer];\r
+\r
+ if (DATA_ATTRIB_SET (Item->Attribute, DATA_ATTRIB_VOLATILE)) {\r
+ REMOVE_DATA_ATTRIB (Item->Attribute, DATA_ATTRIB_VOLATILE);\r
+ }\r
+\r
return Ip4Config2SetDnsServerWorker (Instance, DataSize, Data);\r
}\r
\r
\r
#define DATA_ATTRIB_SET(Attrib, Bits) (BOOLEAN)((Attrib) & (Bits))\r
#define SET_DATA_ATTRIB(Attrib, Bits) ((Attrib) |= (Bits))\r
+#define REMOVE_DATA_ATTRIB(Attrib, Bits) ((Attrib) &= (~Bits))\r
\r
typedef struct _IP4_CONFIG2_INSTANCE IP4_CONFIG2_INSTANCE;\r
\r