Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryGetAddrInfo()

static unsafe SocketError System.Net.NameResolutionPal.TryGetAddrInfo ( string name,
bool justAddresses,
AddressFamily addressFamily,
out string hostName,
out string[] aliases,
out IPAddress[] addresses,
out int nativeErrorCode )
inlinestatic

Definition at line 193 of file NameResolutionPal.cs.

194 {
195 global::Interop.Winsock.EnsureInitialized();
196 aliases = Array.Empty<string>();
197 global::Interop.Winsock.AddressInfo addressInfo = default(global::Interop.Winsock.AddressInfo);
198 addressInfo.ai_family = addressFamily;
199 global::Interop.Winsock.AddressInfo addressInfo2 = addressInfo;
200 if (!justAddresses)
201 {
202 addressInfo2.ai_flags = AddressInfoHints.AI_CANONNAME;
203 }
204 global::Interop.Winsock.AddressInfo* ptr = null;
205 try
206 {
207 SocketError addrInfoW = (SocketError)global::Interop.Winsock.GetAddrInfoW(name, null, &addressInfo2, &ptr);
208 if (addrInfoW != 0)
209 {
210 nativeErrorCode = (int)addrInfoW;
211 hostName = name;
212 addresses = Array.Empty<IPAddress>();
213 return addrInfoW;
214 }
215 addresses = ParseAddressInfo(ptr, justAddresses, out hostName);
216 nativeErrorCode = 0;
217 return SocketError.Success;
218 }
219 finally
220 {
221 if (ptr != null)
222 {
223 global::Interop.Winsock.FreeAddrInfoW(ptr);
224 }
225 }
226 }
static unsafe IPAddress[] ParseAddressInfo(global::Interop.Winsock.AddressInfo *addressInfoPtr, bool justAddresses, out string hostName)

References System.Net.NameResolutionPal.ParseAddressInfo().

Referenced by System.Net.Dns.GetHostEntryOrAddressesCore(), and System.Net.Dns.GetHostEntryOrAddressesCore().