Added Vanara.PInvoke.DnsApi and supporting unit test supporting dnsapi.dll.

pull/119/head
dahall 2020-04-11 16:17:06 -06:00
parent 838663f2ee
commit aabf8e7ca5
8 changed files with 5010 additions and 0 deletions

View File

@ -0,0 +1,91 @@
## Correlation report for dnsapi.dll
### Methods (100% complete, 33 of 33 functions)
Native Method | Header | Managed Method
--- | --- | ---
[DnsAcquireContextHandle_](https://www.google.com/search?num=5&q=DnsAcquireContextHandle_A+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsAcquireContextHandle](https://github.com/dahall/Vanara/search?l=C%23&q=DnsAcquireContextHandle)
[DnsCancelQuery](http://msdn2.microsoft.com/en-us/library/E5F422AA-D4E6-4F9F-A57C-608CE9317658) | windns.h | [Vanara.PInvoke.DnsApi.DnsCancelQuery](https://github.com/dahall/Vanara/search?l=C%23&q=DnsCancelQuery)
[DnsExtractRecordsFromMessage_W](http://msdn2.microsoft.com/en-us/library/0179bf3e-9243-4dd7-a2ab-e2f6f4bf4b82) | windns.h | [Vanara.PInvoke.DnsApi.DnsExtractRecordsFromMessage](https://github.com/dahall/Vanara/search?l=C%23&q=DnsExtractRecordsFromMessage)
[DnsFree](http://msdn2.microsoft.com/en-us/library/32baa672-2106-4c4a-972a-f7f79996b613) | windns.h | [Vanara.PInvoke.DnsApi.DnsFree](https://github.com/dahall/Vanara/search?l=C%23&q=DnsFree)
[DnsFreeProxyName](http://msdn2.microsoft.com/en-us/library/4c69d548-3bb5-4609-9fc5-3a829a285956) | windns.h | [Vanara.PInvoke.DnsApi.DnsFreeProxyName](https://github.com/dahall/Vanara/search?l=C%23&q=DnsFreeProxyName)
[DnsGetProxyInformation](http://msdn2.microsoft.com/en-us/library/fdc8eb09-e071-4f03-974a-2b11a657ab18) | windns.h | [Vanara.PInvoke.DnsApi.DnsGetProxyInformation](https://github.com/dahall/Vanara/search?l=C%23&q=DnsGetProxyInformation)
[DnsModifyRecordsInSet_](https://www.google.com/search?num=5&q=DnsModifyRecordsInSet_A+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsModifyRecordsInSet](https://github.com/dahall/Vanara/search?l=C%23&q=DnsModifyRecordsInSet)
[DnsNameCompare_](https://www.google.com/search?num=5&q=DnsNameCompare_A+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsNameCompare](https://github.com/dahall/Vanara/search?l=C%23&q=DnsNameCompare)
[DnsQuery_](https://www.google.com/search?num=5&q=DnsQuery_A+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsQuery](https://github.com/dahall/Vanara/search?l=C%23&q=DnsQuery)
[DnsQueryConfig](http://msdn2.microsoft.com/en-us/library/83de7df8-7e89-42fe-b609-1dc173afc9df) | windns.h | [Vanara.PInvoke.DnsApi.DnsQueryConfig](https://github.com/dahall/Vanara/search?l=C%23&q=DnsQueryConfig)
[DnsQueryEx](http://msdn2.microsoft.com/en-us/library/22664B9A-5010-42E7-880B-8D5B16A9F2DC) | windns.h | [Vanara.PInvoke.DnsApi.DnsQueryEx](https://github.com/dahall/Vanara/search?l=C%23&q=DnsQueryEx)
[DnsRecordCompare](http://msdn2.microsoft.com/en-us/library/c4449a23-d6d3-4f27-a963-a84144983e5e) | windns.h | [Vanara.PInvoke.DnsApi.DnsRecordCompare](https://github.com/dahall/Vanara/search?l=C%23&q=DnsRecordCompare)
[DnsRecordCopyEx](http://msdn2.microsoft.com/en-us/library/b5a74799-75fc-4489-9efa-c15b2def2ae7) | windns.h | [Vanara.PInvoke.DnsApi.DnsRecordCopyEx](https://github.com/dahall/Vanara/search?l=C%23&q=DnsRecordCopyEx)
[DnsRecordSetCompare](http://msdn2.microsoft.com/en-us/library/008cf2ba-ccb2-430a-85d9-68d424b6938f) | windns.h | [Vanara.PInvoke.DnsApi.DnsRecordSetCompare](https://github.com/dahall/Vanara/search?l=C%23&q=DnsRecordSetCompare)
[DnsRecordSetCopyEx](http://msdn2.microsoft.com/en-us/library/bdf9d6b4-b9d7-4886-8ea6-1e1f4dbcc99a) | windns.h | [Vanara.PInvoke.DnsApi.DnsRecordSetCopyEx](https://github.com/dahall/Vanara/search?l=C%23&q=DnsRecordSetCopyEx)
[DnsRecordSetDetach](http://msdn2.microsoft.com/en-us/library/434dc11f-19a9-434f-a024-9cdbb560f24c) | windns.h | [Vanara.PInvoke.DnsApi.DnsRecordSetDetach](https://github.com/dahall/Vanara/search?l=C%23&q=DnsRecordSetDetach)
[DnsReleaseContextHandle](http://msdn2.microsoft.com/en-us/library/08a5fa73-4583-4e87-bddb-09bfbfe1b36f) | windns.h | [Vanara.PInvoke.DnsApi.DnsReleaseContextHandle](https://github.com/dahall/Vanara/search?l=C%23&q=DnsReleaseContextHandle)
[DnsReplaceRecordSet](https://www.google.com/search?num=5&q=DnsReplaceRecordSetA+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsReplaceRecordSet](https://github.com/dahall/Vanara/search?l=C%23&q=DnsReplaceRecordSet)
[DnsServiceBrowse](https://www.google.com/search?num=5&q=DnsServiceBrowse+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceBrowse](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceBrowse)
[DnsServiceBrowseCancel](https://www.google.com/search?num=5&q=DnsServiceBrowseCancel+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceBrowseCancel](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceBrowseCancel)
[DnsServiceConstructInstance](https://www.google.com/search?num=5&q=DnsServiceConstructInstance+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceConstructInstance](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceConstructInstance)
[DnsServiceCopyInstance](https://www.google.com/search?num=5&q=DnsServiceCopyInstance+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceCopyInstance](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceCopyInstance)
[DnsServiceDeRegister](https://www.google.com/search?num=5&q=DnsServiceDeRegister+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceDeRegister](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceDeRegister)
[DnsServiceFreeInstance](https://www.google.com/search?num=5&q=DnsServiceFreeInstance+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceFreeInstance](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceFreeInstance)
[DnsServiceRegister](https://www.google.com/search?num=5&q=DnsServiceRegister+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceRegister](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceRegister)
[DnsServiceRegisterCancel](https://www.google.com/search?num=5&q=DnsServiceRegisterCancel+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceRegisterCancel](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceRegisterCancel)
[DnsServiceResolve](https://www.google.com/search?num=5&q=DnsServiceResolve+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceResolve](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceResolve)
[DnsServiceResolveCancel](https://www.google.com/search?num=5&q=DnsServiceResolveCancel+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsServiceResolveCancel](https://github.com/dahall/Vanara/search?l=C%23&q=DnsServiceResolveCancel)
[DnsStartMulticastQuery](https://www.google.com/search?num=5&q=DnsStartMulticastQuery+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsStartMulticastQuery](https://github.com/dahall/Vanara/search?l=C%23&q=DnsStartMulticastQuery)
[DnsStopMulticastQuery](https://www.google.com/search?num=5&q=DnsStopMulticastQuery+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsStopMulticastQuery](https://github.com/dahall/Vanara/search?l=C%23&q=DnsStopMulticastQuery)
[DnsValidateName_](https://www.google.com/search?num=5&q=DnsValidateName_A+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DnsValidateName](https://github.com/dahall/Vanara/search?l=C%23&q=DnsValidateName)
[DnsValidateServerStatus](http://msdn2.microsoft.com/en-us/library/5b362d05-87b2-44dd-8198-bcb5ab5a64f6) | windns.h | [Vanara.PInvoke.DnsApi.DnsValidateServerStatus](https://github.com/dahall/Vanara/search?l=C%23&q=DnsValidateServerStatus)
[DnsWriteQuestionToBuffer_W](http://msdn2.microsoft.com/en-us/library/9aa853aa-d9b5-41e3-a82a-c25de199924d) | windns.h | [Vanara.PInvoke.DnsApi.DnsWriteQuestionToBuffer](https://github.com/dahall/Vanara/search?l=C%23&q=DnsWriteQuestionToBuffer)
### Structures
Native Structure | Header | Managed Structure
--- | --- | ---
[DNS_A_DATA](http://msdn2.microsoft.com/en-us/library/0fd21930-1319-4ae7-b46f-2b744f4faae9) | windns.h | [Vanara.PInvoke.DnsApi.DNS_A_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_A_DATA)
[DNS_AAAA_DATA](http://msdn2.microsoft.com/en-us/library/0bc48e86-368c-431c-b67a-b7689dca8d3c) | windns.h | [Vanara.PInvoke.DnsApi.DNS_AAAA_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_AAAA_DATA)
[DNS_ADDR](http://msdn2.microsoft.com/en-us/library/c14e6fc0-34b3-40e8-b9b8-61e4aea01677) | windns.h | [Vanara.PInvoke.DnsApi.DNS_ADDR](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_ADDR)
[DNS_ADDR_ARRAY](http://msdn2.microsoft.com/en-us/library/5FD7F28B-D1A6-4731-ACB9-A7BB23CC1FB4) | windns.h | [Vanara.PInvoke.DnsApi.DNS_ADDR_ARRAY](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_ADDR_ARRAY)
[DNS_ATMA_DATA](http://msdn2.microsoft.com/en-us/library/09df3990-36bd-4656-b5cd-792e521adf9d) | windns.h | [Vanara.PInvoke.DnsApi.DNS_ATMA_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_ATMA_DATA)
[DNS_DHCID_DATA](http://msdn2.microsoft.com/en-us/library/868846bc-9f63-4bb3-ac8d-cea34232bb41) | windns.h | [Vanara.PInvoke.DnsApi.DNS_DHCID_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_DHCID_DATA)
[DNS_DS_DATA](http://msdn2.microsoft.com/en-us/library/8624cc27-feb5-4e4a-8970-40aa1d43960e) | windns.h | [Vanara.PInvoke.DnsApi.DNS_DS_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_DS_DATA)
[DNS_HEADER](http://msdn2.microsoft.com/en-us/library/e5bf19a1-4c71-482d-a075-1e149f94505b) | windns.h | [Vanara.PInvoke.DnsApi.DNS_HEADER](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_HEADER)
[DNS_KEY_DATA](http://msdn2.microsoft.com/en-us/library/d7d60322-4d06-4c57-b181-c6a38e09e1ef) | windns.h | [Vanara.PInvoke.DnsApi.DNS_KEY_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_KEY_DATA)
[DNS_LOC_DATA](http://msdn2.microsoft.com/en-us/library/c1e05479-17f0-4993-8dcf-02036989d6dc) | windns.h | [Vanara.PInvoke.DnsApi.DNS_LOC_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_LOC_DATA)
[DNS_MESSAGE_BUFFER](http://msdn2.microsoft.com/en-us/library/2a6fdf8f-ac30-4e32-9cde-67d41ddef8af) | windns.h | [Vanara.PInvoke.DnsApi.DNS_MESSAGE_BUFFER](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_MESSAGE_BUFFER)
[DNS_MINFO_DATA](http://msdn2.microsoft.com/en-us/library/cd392b48-734f-462b-b893-855f07c30575) | windns.h | [Vanara.PInvoke.DnsApi.DNS_MINFO_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_MINFO_DATA)
[DNS_MX_DATA](http://msdn2.microsoft.com/en-us/library/72a0b42e-a7af-42d2-b672-cf06d0b5d1ba) | windns.h | [Vanara.PInvoke.DnsApi.DNS_MX_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_MX_DATA)
[DNS_NAPTR_DATA](http://msdn2.microsoft.com/en-us/library/8f576efb-4ef3-4fc0-8cf5-d373460a3b3c) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NAPTR_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NAPTR_DATA)
[DNS_NSEC_DATA](http://msdn2.microsoft.com/en-us/library/ea446732-bc6a-4597-b164-11bfd77c07f2) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NSEC_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NSEC_DATA)
[DNS_NSEC3_DATA](https://www.google.com/search?num=5&q=DNS_NSEC3_DATA+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NSEC3_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NSEC3_DATA)
[DNS_NSEC3PARAM_DATA](https://www.google.com/search?num=5&q=DNS_NSEC3PARAM_DATA+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NSEC3PARAM_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NSEC3PARAM_DATA)
[DNS_NULL_DATA](http://msdn2.microsoft.com/en-us/library/c31e468f-8efd-4173-bc2c-442ee4df737f) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NULL_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NULL_DATA)
[DNS_NXT_DATA](http://msdn2.microsoft.com/en-us/library/0e5370c2-30d3-4bb7-85a0-f4412f5572fd) | windns.h | [Vanara.PInvoke.DnsApi.DNS_NXT_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_NXT_DATA)
[DNS_OPT_DATA](http://msdn2.microsoft.com/en-us/library/a8e23127-a625-4206-abe8-0787b4ac0f30) | windns.h | [Vanara.PInvoke.DnsApi.DNS_OPT_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_OPT_DATA)
[DNS_PROXY_INFORMATION](http://msdn2.microsoft.com/en-us/library/cfe7653f-7e68-4e50-ba67-bd441f837ef8) | windns.h | [Vanara.PInvoke.DnsApi.DNS_PROXY_INFORMATION](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_PROXY_INFORMATION)
[DNS_PTR_DATA](http://msdn2.microsoft.com/en-us/library/8b7f8898-ac91-46da-876c-889c427068a3) | windns.h | [Vanara.PInvoke.DnsApi.DNS_PTR_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_PTR_DATA)
[DNS_QUERY_CANCEL](http://msdn2.microsoft.com/en-us/library/543C6F9B-3200-44F6-A2B7-A5C7F5A927DB) | windns.h | [Vanara.PInvoke.DnsApi.DNS_QUERY_CANCEL](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_QUERY_CANCEL)
[DNS_QUERY_REQUEST](http://msdn2.microsoft.com/en-us/library/9C382800-DE71-4481-AC8D-9F89D6F59EE6) | windns.h | [Vanara.PInvoke.DnsApi.DNS_QUERY_REQUEST](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_QUERY_REQUEST)
[DNS_QUERY_RESULT](http://msdn2.microsoft.com/en-us/library/03EB1DC2-FAB0-45C5-B438-E8FFDD218F09) | windns.h | [Vanara.PInvoke.DnsApi.DNS_QUERY_RESULT](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_QUERY_RESULT)
[DNS_RECORD](http://msdn2.microsoft.com/en-us/library/ab7b96a5-346f-4e01-bb2a-885f44764590) | windns.h | [Vanara.PInvoke.DnsApi.DNS_RECORD](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_RECORD)
[DNS_RECORD_FLAGS](http://msdn2.microsoft.com/en-us/library/53c1c8bc-20b0-4b15-b2b6-9c9854f73ee3) | windns.h | [Vanara.PInvoke.DnsApi.DNS_RECORD_FLAGS](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_RECORD_FLAGS)
[DNS_RRSET](http://msdn2.microsoft.com/en-us/library/bd87a8db-ca27-490b-85f4-912297b77a2b) | windns.h | [Vanara.PInvoke.DnsApi.DNS_RRSET](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_RRSET)
[DNS_SERVICE_BROWSE_REQUEST](https://www.google.com/search?num=5&q=DNS_SERVICE_BROWSE_REQUEST+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SERVICE_BROWSE_REQUEST](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_BROWSE_REQUEST)
[DNS_SERVICE_BROWSE_REQUEST_CALLBACK](https://www.google.com/search?num=5&q=DNS_SERVICE_BROWSE_REQUEST_CALLBACK+site%3Amicrosoft.com) | | [Vanara.PInvoke.DnsApi.DNS_SERVICE_BROWSE_REQUEST.DNS_SERVICE_BROWSE_REQUEST_CALLBACK](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_BROWSE_REQUEST_CALLBACK)
[DNS_SERVICE_CANCEL](https://www.google.com/search?num=5&q=DNS_SERVICE_CANCEL+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SERVICE_CANCEL](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_CANCEL)
[DNS_SERVICE_INSTANCE](https://www.google.com/search?num=5&q=DNS_SERVICE_INSTANCE+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SERVICE_INSTANCE](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_INSTANCE)
[DNS_SERVICE_REGISTER_REQUEST](https://www.google.com/search?num=5&q=DNS_SERVICE_REGISTER_REQUEST+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SERVICE_REGISTER_REQUEST](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_REGISTER_REQUEST)
[DNS_SERVICE_RESOLVE_REQUEST](https://www.google.com/search?num=5&q=DNS_SERVICE_RESOLVE_REQUEST+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SERVICE_RESOLVE_REQUEST](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SERVICE_RESOLVE_REQUEST)
[DNS_SIG_DATA](http://msdn2.microsoft.com/en-us/library/09c2f515-acc1-402f-8e62-a0d273031633) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SIG_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SIG_DATA)
[DNS_SOA_DATA](http://msdn2.microsoft.com/en-us/library/715cbb70-91fe-47ac-a713-1fe0701d4f8c) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SOA_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SOA_DATA)
[DNS_SRV_DATA](http://msdn2.microsoft.com/en-us/library/212db7ac-a5e3-4e58-b1c2-0eb551403dfc) | windns.h | [Vanara.PInvoke.DnsApi.DNS_SRV_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_SRV_DATA)
[DNS_TKEY_DATA](http://msdn2.microsoft.com/en-us/library/4dad3449-3e41-47d9-89c2-10fa6e51573b) | windns.h | [Vanara.PInvoke.DnsApi.DNS_TKEY_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_TKEY_DATA)
[DNS_TLSA_DATA](https://www.google.com/search?num=5&q=DNS_TLSA_DATA+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_TLSA_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_TLSA_DATA)
[DNS_TSIG_DATA](http://msdn2.microsoft.com/en-us/library/32077169-d319-45c0-982f-8d470cd70111) | windns.h | [Vanara.PInvoke.DnsApi.DNS_TSIG_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_TSIG_DATA)
[DNS_TXT_DATA](http://msdn2.microsoft.com/en-us/library/3ff643e2-d736-45d5-8cf8-ab5e63caf44b) | windns.h | [Vanara.PInvoke.DnsApi.DNS_TXT_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_TXT_DATA)
[DNS_UNKNOWN_DATA](https://www.google.com/search?num=5&q=DNS_UNKNOWN_DATA+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.DNS_UNKNOWN_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_UNKNOWN_DATA)
[DNS_WINS_DATA](http://msdn2.microsoft.com/en-us/library/df41c397-e662-42b4-9193-6776f9071898) | windns.h | [Vanara.PInvoke.DnsApi.DNS_WINS_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_WINS_DATA)
[DNS_WINSR_DATA](http://msdn2.microsoft.com/en-us/library/a7e79e30-905f-42a5-a4de-02d71adfe95e) | windns.h | [Vanara.PInvoke.DnsApi.DNS_WINSR_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_WINSR_DATA)
[DNS_WIRE_QUESTION](http://msdn2.microsoft.com/en-us/library/50498f20-0896-4471-8355-edd997aa4bcd) | windns.h | [Vanara.PInvoke.DnsApi.DNS_WIRE_QUESTION](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_WIRE_QUESTION)
[DNS_WIRE_RECORD](http://msdn2.microsoft.com/en-us/library/fb36930c-dd43-427a-8034-078c99497a3e) | windns.h | [Vanara.PInvoke.DnsApi.DNS_WIRE_RECORD](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_WIRE_RECORD)
[DNS_WKS_DATA](http://msdn2.microsoft.com/en-us/library/94477345-74e7-40bf-a75b-e4bf67f1c17b) | windns.h | [Vanara.PInvoke.DnsApi.DNS_WKS_DATA](https://github.com/dahall/Vanara/search?l=C%23&q=DNS_WKS_DATA)
[HDNSCONTEXT](https://www.google.com/search?num=5&q=HDNSCONTEXT+site%3Amicrosoft.com) | | [Vanara.PInvoke.DnsApi.HDNSCONTEXT](https://github.com/dahall/Vanara/search?l=C%23&q=HDNSCONTEXT)
[IP4_ARRAY](http://msdn2.microsoft.com/en-us/library/4273a739-129c-4951-b6df-aef4332ce0cb) | windns.h | [Vanara.PInvoke.DnsApi.IP4_ARRAY](https://github.com/dahall/Vanara/search?l=C%23&q=IP4_ARRAY)
[MDNS_QUERY_HANDLE](https://www.google.com/search?num=5&q=MDNS_QUERY_HANDLE+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.MDNS_QUERY_HANDLE](https://github.com/dahall/Vanara/search?l=C%23&q=MDNS_QUERY_HANDLE)
[MDNS_QUERY_REQUEST](https://www.google.com/search?num=5&q=MDNS_QUERY_REQUEST+site%3Amicrosoft.com) | windns.h | [Vanara.PInvoke.DnsApi.MDNS_QUERY_REQUEST](https://github.com/dahall/Vanara/search?l=C%23&q=MDNS_QUERY_REQUEST)

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<ProjectExtensions>
<SupportedDlls>DnsApi.dll</SupportedDlls>
</ProjectExtensions>
<PropertyGroup>
<Description>PInvoke API (methods, structures and constants imported from Windows DnsApi.dll.</Description>
<AssemblyTitle>$(AssemblyName)</AssemblyTitle>
<TargetFrameworks>net20;net35;net40;net45;netstandard2.0;netcoreapp2.0;netcoreapp2.1;netcoreapp3.0;netcoreapp3.1</TargetFrameworks>
<AssemblyName>Vanara.PInvoke.DnsApi</AssemblyName>
<PackageId>$(AssemblyName)</PackageId>
<PackageTags>pinvoke;vanara;net-extensions;interop;DnsApi;windows dns;dns</PackageTags>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<PackageReleaseNotes>Currently implements:
Functions
DnsAcquireContextHandle_, DnsCancelQuery, DnsExtractRecordsFromMessage_W, DnsFree, DnsFreeProxyName, DnsGetProxyInformation, DnsModifyRecordsInSet_, DnsNameCompare_, DnsQuery_, DnsQueryConfig, DnsQueryEx, DnsRecordCompare, DnsRecordCopyEx, DnsRecordSetCompare, DnsRecordSetCopyEx, DnsRecordSetDetach, DnsReleaseContextHandle, DnsReplaceRecordSet, DnsServiceBrowse, DnsServiceBrowseCancel, DnsServiceConstructInstance, DnsServiceCopyInstance, DnsServiceDeRegister, DnsServiceFreeInstance, DnsServiceRegister, DnsServiceRegisterCancel, DnsServiceResolve, DnsServiceResolveCancel, DnsStartMulticastQuery, DnsStopMulticastQuery, DnsValidateName_, DnsValidateServerStatus, DnsWriteQuestionToBuffer_W
Structures
DNS_A_DATA, DNS_AAAA_DATA, DNS_ADDR, DNS_ADDR_ARRAY, DNS_ATMA_DATA, DNS_DHCID_DATA, DNS_DS_DATA, DNS_HEADER, DNS_KEY_DATA, DNS_LOC_DATA, DNS_MESSAGE_BUFFER, DNS_MINFO_DATA, DNS_MX_DATA, DNS_NAPTR_DATA, DNS_NSEC_DATA, DNS_NSEC3_DATA, DNS_NSEC3PARAM_DATA, DNS_NULL_DATA, DNS_NXT_DATA, DNS_OPT_DATA, DNS_PROXY_INFORMATION, DNS_PTR_DATA, DNS_QUERY_CANCEL, DNS_QUERY_REQUEST, DNS_QUERY_RESULT, DNS_RECORD, DNS_RECORD_FLAGS, DNS_RRSET, DNS_SERVICE_BROWSE_REQUEST, DNS_SERVICE_CANCEL, DNS_SERVICE_INSTANCE, DNS_SERVICE_REGISTER_REQUEST, DNS_SERVICE_RESOLVE_REQUEST, DNS_SIG_DATA, DNS_SOA_DATA, DNS_SRV_DATA, DNS_TKEY_DATA, DNS_TLSA_DATA, DNS_TSIG_DATA, DNS_TXT_DATA, DNS_UNKNOWN_DATA, DNS_WINS_DATA, DNS_WINSR_DATA, DNS_WIRE_QUESTION, DNS_WIRE_RECORD, DNS_WKS_DATA, IP4_ARRAY, MDNS_QUERY_HANDLE, MDNS_QUERY_REQUEST, HDNSCONTEXT, DNS_SERVICE_BROWSE_REQUEST_CALLBACK
</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\Vanara.Core.csproj" />
<ProjectReference Include="..\Shared\Vanara.PInvoke.Shared.csproj" />
<ProjectReference Include="..\Ws2_32\Vanara.PInvoke.Ws2_32.csproj" />
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

3160
PInvoke/DnsApi/WinDns.cs Normal file

File diff suppressed because it is too large Load Diff

View File

@ -36,6 +36,9 @@
/// <summary>The cryptui.dll</summary>
public const string CryptUI = "cryptui.dll";
/// <summary>The dnsapi.dll</summary>
public const string Dnsapi = "dnsapi.dll";
/// <summary>The DWM API</summary>
public const string DwmApi = "dwmapi.dll";

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="16.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AssemblyName>UnitTest.PInvoke.DnsApi</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x64</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Compile Include="DnsApiTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Core\Vanara.Core.csproj">
<Project>{241f73ee-9298-45c9-b869-a045dff94c03}</Project>
<Name>Vanara.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\PInvoke\DnsApi\Vanara.PInvoke.DnsApi.csproj">
<Project>{15023e19-86a7-40c7-838e-21eeb15a63af}</Project>
<Name>Vanara.PInvoke.DnsApi</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\PInvoke\Shared\Vanara.PInvoke.Shared.csproj">
<Project>{a5e519e9-feba-4fe3-93a5-b8269bef72f4}</Project>
<Name>Vanara.PInvoke.Shared</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\PInvoke\Ws2_32\Vanara.PInvoke.Ws2_32.csproj">
<Project>{74D00C4C-DA94-4046-B3CD-318FECDE3794}</Project>
<Name>Vanara.PInvoke.Ws2_32</Name>
</ProjectReference>
<ProjectReference Include="..\..\CSharpRunner\Shared.csproj">
<Project>{a96cff10-0967-429a-8700-4a86c97c5603}</Project>
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="NUnit">
<Version>3.12.0</Version>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter">
<Version>3.15.1</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,232 @@
using ICSharpCode.Decompiler.IL;
using NUnit.Framework;
using System;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading;
using Vanara.Extensions;
using Vanara.InteropServices;
using Vanara.PInvoke.Tests;
using static Vanara.PInvoke.DnsApi;
namespace Vanara.PInvoke.Tests
{
public class DnsApiTests
{
const int DNS_REQUEST_PENDING = 0x00002522;
private const string dnsSvr = "c1dns.cableone.net";
private const string dnsSvrIp = "24.116.0.53";
[Test]
public void DnsAcquireContextHandleTest()
{
Assert.That(DnsAcquireContextHandle(true, default, out var ctx), ResultIs.Successful);
Assert.That(ctx, ResultIs.ValidHandle);
Assert.That(() => ctx.Dispose(), Throws.Nothing);
}
[Test]
public void DnsExtractRecordsFromMessageTest()
{
using var mem = new SafeHGlobalHandle(64);
Assert.That(DnsExtractRecordsFromMessage(mem, (ushort)(uint)mem.Size, out var results), ResultIs.Successful);
}
[Test]
public void DnsGetProxyInformationTest()
{
var pi = new DNS_PROXY_INFORMATION { version = 1 };
var rpi = new DNS_PROXY_INFORMATION { version = 1 };
Assert.That(DnsGetProxyInformation(dnsSvr, ref pi, ref rpi), ResultIs.Successful);
if (pi.proxyName != default)
DnsFreeProxyName(pi.proxyName);
if (rpi.proxyName != default)
DnsFreeProxyName(rpi.proxyName);
}
[Test]
public void DnsModifyRecordsInSetTest()
{
Assert.That(DnsQuery(dnsSvr, DNS_TYPE.DNS_TYPE_ALL, 0, default, out var results), ResultIs.Successful);
Assert.That(results, ResultIs.ValidHandle);
Assert.That(DnsModifyRecordsInSet(results, default, DNS_UPDATE.DNS_UPDATE_SECURITY_USE_DEFAULT), ResultIs.Successful);
}
[Test]
public void DnsNameCompareTest()
{
Assert.That(DnsNameCompare(dnsSvr, dnsSvr), Is.True);
}
[Test]
public void DnsQueryTest()
{
Assert.That(DnsQuery(dnsSvr, DNS_TYPE.DNS_TYPE_ALL, 0, default, out var results), ResultIs.Successful);
Assert.That(results, ResultIs.ValidHandle);
results.ToArray().WriteValues();
}
[Test]
public void DnsQueryConfigTest([Values] DNS_CONFIG_TYPE ctype)
{
var type = CorrespondingTypeAttribute.GetCorrespondingTypes(ctype, CorrespondingAction.GetSet).FirstOrDefault();
if (type is null || type == typeof(StrPtrAnsi)) Assert.Pass($"{ctype} Ignored");
var sz = 1024U;
using var mem = new SafeCoTaskMemHandle(sz);
Assert.That(DnsQueryConfig(ctype, 0, null, default, mem, ref sz), ResultIs.Successful);
mem.DangerousGetHandle().Convert(sz, type, CharSet.Unicode).WriteValues();
}
[Test]
public void DnsQueryExTest()
{
bool callbackCalled = false;
var req = new DNS_QUERY_REQUEST
{
Version = DNS_QUERY_REQUEST_VERSION1,
QueryName = dnsSvr,
QueryOptions = DNS_QUERY_OPTIONS.DNS_QUERY_STANDARD,
QueryType = DNS_TYPE.DNS_TYPE_ALL,
pQueryCompletionCallback = Callback
};
var res = new DNS_QUERY_RESULT { Version = DNS_QUERY_REQUEST_VERSION1 };
Assert.That(DnsQueryEx(req, ref res, out var cancel), ResultIs.Value((Win32Error)DNS_REQUEST_PENDING));
Thread.Sleep(500);
if (!callbackCalled)
Assert.That(DnsCancelQuery(cancel), ResultIs.Successful);
Assert.That(callbackCalled, Is.True);
if (res.pQueryRecords != default)
DnsRecordListFree(res.pQueryRecords);
void Callback(HDNSCONTEXT pQueryContext, in DNS_QUERY_RESULT pQueryResults)
{
callbackCalled = true;
}
}
[Test]
public void DnsRecordCompareTest()
{
var r1 = new DNS_RECORD { pName = dnsSvr, wType = DNS_TYPE.DNS_TYPE_A, Data = new DNS_A_DATA { IpAddress = 0xFFFFFF0U } };
Assert.That(DnsRecordCompare(r1, r1), Is.True);
}
[Test]
public void DnsRecordSetCompareTest()
{
Assert.That(DnsQuery(dnsSvr, DNS_TYPE.DNS_TYPE_ALL, 0, default, out var results), ResultIs.Successful);
Assert.That(DnsRecordSetCompare(results, results, out var p1, out var p2), ResultIs.Successful);
}
[Test]
public void DnsServiceBrowseTest()
{
bool callbackCalled = false, qcallbackCalled = false, rcallbackCalled = false;
Assert.That(DnsAcquireContextHandle(true, default, out var ctx), ResultIs.Successful);
var br = new DNS_SERVICE_BROWSE_REQUEST
{
Version = DNS_QUERY_REQUEST_VERSION1,
QueryName = "_windns-example._udp",
pQueryContext = ctx
};
br.Callback.pBrowseCallback = Callback;
Assert.That(DnsServiceBrowse(br, out var cancel), ResultIs.Value((Win32Error)DNS_REQUEST_PENDING));
//Thread.Sleep(500);
//if (!callbackCalled)
// Assert.That(DnsServiceBrowseCancel(cancel), ResultIs.Successful);
var queryRequest = new MDNS_QUERY_REQUEST
{
Version = DNS_QUERY_REQUEST_VERSION1,
Query = "_windns-example._udp.local",
QueryType = DNS_TYPE.DNS_TYPE_PTR,
QueryOptions = DNS_QUERY_OPTIONS.DNS_QUERY_STANDARD,
pQueryCallback = QueryCallback
};
Assert.That(DnsStartMulticastQuery(queryRequest, out var queryHandle), ResultIs.Successful);
Thread.Sleep(5000);
if (!qcallbackCalled)
DnsStopMulticastQuery(queryHandle);
Assert.IsTrue(qcallbackCalled);
Assert.IsTrue(rcallbackCalled);
void Callback(uint Status, HDNSCONTEXT pQueryContext, in DNS_RECORD pDnsRecord)
{
callbackCalled = true;
}
void QueryCallback(HDNSCONTEXT pQueryContext, in MDNS_QUERY_HANDLE pQueryHandle, in DNS_QUERY_RESULT pQueryResults)
{
qcallbackCalled = true;
using var recs = new SafeDnsRecordList(pQueryResults.pQueryRecords);
var rec = recs.FirstOrDefault();
if (rec.wDataLength == 0)
return;
var resolveRequest = new DNS_SERVICE_RESOLVE_REQUEST
{
Version = DNS_QUERY_REQUEST_VERSION1,
QueryName = rec.Data is DNS_PTR_DATA d ? d.pNameHost : null,
pResolveCompletionCallback = ResolveCallback,
};
Assert.That(DnsServiceResolve(resolveRequest, out var cancel), ResultIs.Value((Win32Error)DNS_REQUEST_PENDING));
Thread.Sleep(5000);
if (!rcallbackCalled)
Assert.That(DnsServiceResolveCancel(cancel), ResultIs.Successful);
}
void ResolveCallback(uint Status, HDNSCONTEXT pQueryContext, in DNS_SERVICE_INSTANCE pInstance)
{
rcallbackCalled = true;
}
}
[Test]
public void DnsServiceRegisterTest()
{
SafePDNS_SERVICE_INSTANCE si;
Assert.That(si = DnsServiceConstructInstance("initial._windns-example._udp.local", "example.com", IntPtr.Zero, IntPtr.Zero, 1, 0, 0, 0, null, null), ResultIs.ValidHandle);
var callbackCalled = false;
Assert.That(DnsAcquireContextHandle(true, default, out var ctx), ResultIs.Successful);
var sr = new DNS_SERVICE_REGISTER_REQUEST
{
Version = DNS_QUERY_REQUEST_VERSION1,
pQueryContext = ctx,
pRegisterCompletionCallback = Callback,
pServiceInstance = si,
};
Assert.That(DnsServiceRegister(sr, out var cancel), ResultIs.Value((Win32Error)DNS_REQUEST_PENDING));
Thread.Sleep(500);
if (!callbackCalled)
Assert.That(DnsServiceRegisterCancel(cancel), ResultIs.Successful);
Assert.That(DnsServiceDeRegister(sr, cancel), ResultIs.Value((Win32Error)DNS_REQUEST_PENDING));
void Callback(uint Status, HDNSCONTEXT pQueryContext, in DNS_SERVICE_INSTANCE pInstance) => callbackCalled = true;
}
[Test]
public void DnsValidateNameTest()
{
Assert.That(DnsValidateName(dnsSvr, DNS_NAME_FORMAT.DnsNameHostnameFull), ResultIs.Successful);
}
[Test]
public void DnsValidateServerStatusTest()
{
Assert.That(DnsValidateServerStatus(new Ws2_32.SOCKADDR(System.Net.IPAddress.Parse(dnsSvrIp)), null, out var stat), ResultIs.Successful);
Assert.That(stat, Is.EqualTo(DnsServerStatus.ERROR_SUCCESS));
}
[Test]
public void DnsWriteQuestionToBufferTest()
{
var sz = 64U;
using var mem = new SafeHGlobalHandle(sz);
Assert.That(DnsWriteQuestionToBuffer(mem, ref sz, "microsoft", DNS_TYPE.DNS_TYPE_A, 1, true), Is.True);
var buf = mem.ToStructure<DNS_MESSAGE_BUFFER>();
DNS_BYTE_FLIP_HEADER_COUNTS(ref buf);
buf.WriteValues();
TestContext.Write(string.Join(":", mem.ToArray<byte>((int)sz - 12, 12)));
}
}
}

View File

@ -215,6 +215,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WlanApi", "UnitTests\PInvok
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WcmApi", "UnitTests\PInvoke\WcmApi\WcmApi.csproj", "{35B95D64-CC7E-48B4-B104-4886411531AC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vanara.PInvoke.DnsApi", "PInvoke\DnsApi\Vanara.PInvoke.DnsApi.csproj", "{15023E19-86A7-40C7-838E-21EEB15A63AF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DnsApi", "UnitTests\PInvoke\DnsApi\DnsApi.csproj", "{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug (no Unit Tests)|Any CPU = Debug (no Unit Tests)|Any CPU
@ -683,6 +687,18 @@ Global
{35B95D64-CC7E-48B4-B104-4886411531AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35B95D64-CC7E-48B4-B104-4886411531AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35B95D64-CC7E-48B4-B104-4886411531AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Debug (no Unit Tests)|Any CPU.ActiveCfg = Debug|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Debug (no Unit Tests)|Any CPU.Build.0 = Debug|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15023E19-86A7-40C7-838E-21EEB15A63AF}.Release|Any CPU.Build.0 = Release|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Debug (no Unit Tests)|Any CPU.ActiveCfg = Debug|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Debug (no Unit Tests)|Any CPU.Build.0 = Debug|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -773,6 +789,8 @@ Global
{141B6B19-6F07-4644-B72D-B189E49030BF} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
{F8E02C7E-99E9-4C99-B63D-E678BC43C734} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
{35B95D64-CC7E-48B4-B104-4886411531AC} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
{15023E19-86A7-40C7-838E-21EEB15A63AF} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
{5B4ADAFE-DCCC-40BC-9A9E-8086E57E8B49} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {543FAC75-2AF1-4EF1-9609-B242B63FEED4}