13dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin/* -*- Mode: C; tab-width: 4 -*-
23dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin *
33dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
43dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin *
53dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * Licensed under the Apache License, Version 2.0 (the "License");
63dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * you may not use this file except in compliance with the License.
73dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * You may obtain a copy of the License at
83dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin *
93dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin *     http://www.apache.org/licenses/LICENSE-2.0
103dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin *
113dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * Unless required by applicable law or agreed to in writing, software
123dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * distributed under the License is distributed on an "AS IS" BASIS,
133dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
143dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * See the License for the specific language governing permissions and
153dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin * limitations under the License.
163dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin */
173dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
183dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
193dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
203dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin// This file will be processed by the MIDL tool to
213dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
223dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin// produce the type library (DLLComponent.tlb) and marshalling code.
233dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
243dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
253dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
263dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(4085DD59-D0E1-4efe-B6EE-DDBF7631B9C0) ]
273dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
283dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDFlags
293dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
303dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
313dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
323dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsMoreComing			= 0x0001,
333dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
343dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsDefault				= 0x0004,
353dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
363dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsNoAutoRename			= 0x0008,
373dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
383dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsShared				= 0x0010,
393dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
403dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsUnique				= 0x0020,
413dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
423dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsBrowseDomains		= 0x0040,
433dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
443dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsRegistrationDomains	= 0x0080,
453dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
463dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsLongLivedQuery		= 0x0100,
473dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
483dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsAllowRemoteQuery		= 0x0200,
493dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
503dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsForceMulticast		= 0x0400,
513dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
523dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsForce				= 0x0800,
533dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
543dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsReturnIntermediates	= 0x1000,
553dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
563dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDFlagsNonBrowsable			= 0x2000
573dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
583dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDFlags;
593dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
603dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
613dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
623dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
633dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
643dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(30CDF335-CA52-4b17-AFF2-E83C64C450D4) ]
653dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
663dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDAddressFamily
673dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
683dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
693dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
703dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDAddressFamily_IPv4 = 0x1,
713dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
723dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDAddressFamily_IPv6 = 0x2
733dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
743dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDAddressFamily;
753dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
763dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
773dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
783dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
793dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
803dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(98FB4702-7374-4b16-A8DB-AD35BFB8364D) ]
813dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
823dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDProtocol
833dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
843dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
853dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
863dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDProtocol_UDP	= 0x10,
873dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
883dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDProtocol_TCP	= 0x20
893dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
903dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDProtocol;
913dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
923dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
933dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
943dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
953dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
963dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(72BF3EC3-19BC-47e5-8D95-3B73FF37D893) ]
973dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
983dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDRRClass
993dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1003dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
1013dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1023dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDClass_IN = 1
1033dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1043dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDRRClass;
1053dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1063dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1073dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1083dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1093dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1103dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(08E362DF-5468-4c9a-AC66-FD4747B917BD) ]
1113dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1123dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDRRType
1133dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1143dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
1153dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1163dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDType_A         = 1,
1173dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NS        = 2,
1183dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MD        = 3,
1193dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MF        = 4,
1203dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_CNAME     = 5,
1213dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SOA       = 6,
1223dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MB        = 7,
1233dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MG        = 8,
1243dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MR        = 9,
1253dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NULL      = 10,
1263dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_WKS       = 11,
1273dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_PTR       = 12,
1283dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_HINFO     = 13,
1293dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MINFO     = 14,
1303dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MX        = 15,
1313dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_TXT       = 16,
1323dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_RP        = 17,
1333dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_AFSDB     = 18,
1343dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_X25       = 19,
1353dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_ISDN      = 20,
1363dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_RT        = 21,
1373dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NSAP      = 22,
1383dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NSAP_PTR  = 23,
1393dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SIG       = 24,
1403dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_KEY       = 25,
1413dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_PX        = 26,
1423dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_GPOS      = 27,
1433dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_AAAA      = 28,
1443dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_LOC       = 29,
1453dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NXT       = 30,
1463dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_EID       = 31,
1473dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NIMLOC    = 32,
1483dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SRV       = 33,
1493dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_ATMA      = 34,
1503dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NAPTR     = 35,
1513dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_KX        = 36,
1523dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_CERT      = 37,
1533dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_A6        = 38,
1543dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_DNAME     = 39,
1553dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SINK      = 40,
1563dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_OPT       = 41,
1573dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_APL       = 42,
1583dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_DS        = 43,
1593dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SSHFP     = 44,
1603dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_IPSECKEY  = 45,
1613dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_RRSIG     = 46,
1623dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NSEC      = 47,
1633dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_DNSKEY    = 48,
1643dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_DHCID     = 49,
1653dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NSEC3     = 50,
1663dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_NSEC3PARAM= 51,
1673dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_HIP       = 55,
1683dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_SPF       = 99,
1693dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_UINFO     = 100,
1703dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_UID       = 101,
1713dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_GID       = 102,
1723dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_UNSPEC    = 103,
1733dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_TKEY      = 249,
1743dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_TSIG      = 250,
1753dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_IXFR      = 251,
1763dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_AXFR      = 252,
1773dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MAILB     = 253,
1783dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_MAILA     = 254,
1793dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDType_ANY       = 255
1803dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1813dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDRRType;
1823dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1833dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1843dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1853dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1863dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1873dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlintypedef [ uuid(3B0059E7-5297-4301-9AAB-1522F31EC8A7) ]
1883dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
1893dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinenum DNSSDError
1903dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
1913dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDError_NoError                   = 0,
1923dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDError_Unknown                   = -65537,
1933dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	kDNSSDError_NoSuchName                = -65538,
1943dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NoMemory                  = -65539,
1953dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadParam                  = -65540,
1963dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadReference              = -65541,
1973dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadState                  = -65542,
1983dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadFlags                  = -65543,
1993dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Unsupported               = -65544,
2003dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NotInitialized            = -65545,
2013dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_AlreadyRegistered         = -65547,
2023dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NameConflict              = -65548,
2033dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Invalid                   = -65549,
2043dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Firewall                  = -65550,
2053dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Incompatible              = -65551,
2063dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadInterfaceIndex         = -65552,
2073dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Refused                   = -65553,
2083dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NoSuchRecord              = -65554,
2093dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NoAuth                    = -65555,
2103dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NoSuchKey                 = -65556,
2113dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NATTraversal              = -65557,
2123dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_DoubleNAT                 = -65558,
2133dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadTime                   = -65559,
2143dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadSig                    = -65560,
2153dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_BadKey                    = -65561,
2163dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_Transient                 = -65562,
2173dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_ServiceNotRunning         = -65563,  /* Background daemon not running */
2183dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NATPortMappingUnsupported = -65564,  /* NAT doesn't support NAT-PMP or UPnP */
2193dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NATPortMappingDisabled    = -65565,  /* NAT supports NAT-PMP or UPnP but it's disabled by the administrator */
2203dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_NoRouter                  = -65566,  /* No router currently configured (probably no network connectivity) */
2213dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin    kDNSSDError_PollingMode               = -65567
2223dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin} DNSSDError;
2233dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2243dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2253dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2263dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinimport "oaidl.idl";
2273dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2283dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinimport "ocidl.idl";
2293dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2303dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2313dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2323dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2333dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2343dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin[
2353dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2363dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	object,
2373dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2383dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	uuid(8FA0889C-5973-4FC9-970B-EC15C925D0CE),
2393dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2403dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	dual,
2413dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2423dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	nonextensible,
2433dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2443dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	helpstring("ITXTRecord Interface"),
2453dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2463dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	pointer_default(unique)
2473dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2483dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin]
2493dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2503dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlininterface ITXTRecord : IDispatch{
2513dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2523dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(1), helpstring("method SetValue")] HRESULT SetValue([in] BSTR key, [in] VARIANT value);
2533dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2543dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(2), helpstring("method RemoveValue")] HRESULT RemoveValue([in] BSTR key);
2553dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2563dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(3), helpstring("method ContainsKey")] HRESULT ContainsKey([in] BSTR key, [out,retval] VARIANT_BOOL* retval);
2573dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2583dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(4), helpstring("method GetValueForKey")] HRESULT GetValueForKey([in] BSTR key, [out,retval] VARIANT* value);
2593dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2603dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(5), helpstring("method GetCount")] HRESULT GetCount([out,retval] ULONG* count);
2613dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2623dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(6), helpstring("method GetKeyAtIndex")] HRESULT GetKeyAtIndex([in] ULONG index, [out,retval] BSTR* retval);
2633dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2643dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(7), helpstring("method GetValueAtIndex")] HRESULT GetValueAtIndex([in] ULONG index, [out,retval] VARIANT* retval);
2653dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2663dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin};
2673dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2683dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin[
2693dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2703dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	object,
2713dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2723dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	uuid(9CE603A0-3365-4DA0-86D1-3F780ECBA110),
2733dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2743dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	dual,
2753dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2763dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	nonextensible,
2773dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2783dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	helpstring("IDNSSDRecord Interface"),
2793dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2803dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	pointer_default(unique)
2813dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2823dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin]
2833dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2843dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlininterface IDNSSDRecord : IDispatch{
2853dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2863dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(1), helpstring("method Update")] HRESULT Update([in] DNSSDFlags flags, [in] VARIANT rdata, [in] ULONG ttl);
2873dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2883dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(2), helpstring("method Remove")] HRESULT Remove([in] DNSSDFlags flags);
2893dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2903dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin};
2913dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2923dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin[
2933dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2943dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	object,
2953dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2963dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	uuid(7FD72324-63E1-45AD-B337-4D525BD98DAD),
2973dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
2983dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	dual,
2993dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3003dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	nonextensible,
3013dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3023dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	helpstring("IDNSSDEventManager Interface"),
3033dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3043dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	pointer_default(unique)
3053dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3063dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin]
3073dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3083dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlininterface IDNSSDEventManager : IDispatch{
3093dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3103dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin};
3113dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3123dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin[
3133dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3143dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	object,
3153dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3163dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	uuid(29DE265F-8402-474F-833A-D4653B23458F),
3173dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3183dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	dual,
3193dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3203dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	nonextensible,
3213dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3223dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	helpstring("IDNSSDService Interface"),
3233dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3243dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	pointer_default(unique)
3253dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3263dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin]
3273dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3283dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlininterface IDNSSDService : IDispatch{
3293dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3303dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(1), helpstring("method EnumerateDomains")] HRESULT EnumerateDomains([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3313dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3323dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(2), helpstring("method Browse"), local] HRESULT Browse([in] DNSSDFlags flags, [in] ULONG interfaceIndex, [in] BSTR regtype, [in] BSTR domain, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** sdref);
3333dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3343dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(3), helpstring("method Resolve")] HRESULT Resolve([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3353dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3363dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(4), helpstring("method Register")] HRESULT Register([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR name, [in] BSTR regType, [in] BSTR domain, [in] BSTR host, [in] USHORT port, [in] ITXTRecord* record, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3373dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3383dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(5), helpstring("method QueryRecord")] HRESULT QueryRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3393dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3403dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(6), helpstring("method RegisterRecord")] HRESULT RegisterRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata, [in] ULONG ttl, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDRecord** record);
3413dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3423dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(7), helpstring("method AddRecord")] HRESULT AddRecord([in] DNSSDFlags flags, [in] DNSSDRRType rrtype, [in] VARIANT rdata, [in] ULONG ttl, [out,retval] IDNSSDRecord** record);
3433dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3443dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(8), helpstring("method ReconfirmRecord")] HRESULT ReconfirmRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata);
3453dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3463dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(9), helpstring("method GetProperty")] HRESULT GetProperty([in] BSTR prop, [in,out] VARIANT * value );
3473dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3483dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(10), helpstring("method GetAddrInfo")] HRESULT GetAddrInfo([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] DNSSDAddressFamily addressFamily, [in] BSTR hostname, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3493dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3503dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(11), helpstring("method NATPortMappingCreate")] HRESULT NATPortMappingCreate([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] DNSSDAddressFamily addressFamily, [in] DNSSDProtocol protocol, [in] USHORT internalPort, [in] USHORT externalPort, [in] ULONG ttl, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
3513dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3523dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[id(12), helpstring("method Stop"), local] HRESULT Stop(void);
3533dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3543dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin};
3553dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3563dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin[
3573dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3583dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	uuid(18FBED6D-F2B7-4EC8-A4A4-46282E635308),
3593dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3603dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	version(1.0),
3613dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3623dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	helpstring("Apple Bonjour Library 1.0")
3633dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3643dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin]
3653dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3663dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlinlibrary Bonjour
3673dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3683dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin{
3693dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3703dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	importlib("stdole2.tlb");
3713dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3723dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[
3733dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3743dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		uuid(21AE8D7F-D5FE-45cf-B632-CFA2C2C6B498),
3753dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3763dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		helpstring("_IDNSSDEvents Interface")
3773dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3783dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	]
3793dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3803dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	dispinterface _IDNSSDEvents
3813dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3823dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	{
3833dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3843dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		properties:
3853dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3863dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		methods:
3873dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3883dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(1), helpstring("method DomainFound")] void DomainFound([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain);
3893dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3903dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(2), helpstring("method DomainLost")] void DomainLost([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain);
3913dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3923dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(3), helpstring("method ServiceFound")] void ServiceFound([in] IDNSSDService* browser, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain);
3933dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3943dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(4), helpstring("method ServiceLost")] void ServiceLost([in] IDNSSDService* browser, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain);
3953dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3963dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(5), helpstring("method ServiceResolved")] void ServiceResolved([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullName, [in] BSTR hostName, [in] USHORT port, [in] ITXTRecord* record);
3973dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
3983dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(6), helpstring("method ServiceRegistered")] void ServiceRegistered([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] BSTR name, [in] BSTR regType, [in] BSTR domain);
3993dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4003dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(7), helpstring("method QueryRecordAnswered")] void QueryRecordAnswered([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullName, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata, [in] ULONG ttl);
4013dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4023dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(8), helpstring("method RecordRegistered")] void RecordRegistered([in] IDNSSDRecord* record, [in] DNSSDFlags flags);
4033dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4043dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(9), helpstring("method AddressFound")] void AddressFound([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR hostname, [in] DNSSDAddressFamily addressFamily, [in] BSTR address, [in] ULONG ttl);
4053dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4063dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(10), helpstring("method MappingCreated")] void MappingCreated([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] ULONG externalAddress, [in] DNSSDAddressFamily addressFamily, [in] DNSSDProtocol protocol, [in] USHORT internalPort, [in] USHORT externalPort, [in] ULONG ttl);
4073dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4083dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[id(11), helpstring("method OperationFailed")] void OperationFailed([in] IDNSSDService* service, [in] DNSSDError error);
4093dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4103dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	};
4113dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4123dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[
4133dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4143dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		uuid(24CD4DE9-FF84-4701-9DC1-9B69E0D1090A),
4153dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4163dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		helpstring("DNSSDService Class")
4173dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4183dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	]
4193dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4203dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	coclass DNSSDService
4213dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4223dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	{
4233dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4243dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[default] interface IDNSSDService;
4253dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4263dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	};
4273dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4283dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[
4293dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4303dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		uuid(AFEE063C-05BA-4248-A26E-168477F49734),
4313dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4323dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		helpstring("TXTRecord Class")
4333dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4343dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	]
4353dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4363dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	coclass TXTRecord
4373dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4383dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	{
4393dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4403dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[default] interface ITXTRecord;
4413dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4423dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	};
4433dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4443dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[
4453dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4463dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		uuid(5E93C5A9-7516-4259-A67B-41A656F6E01C),
4473dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4483dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		helpstring("DNSSDRecord Class")
4493dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4503dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	]
4513dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4523dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	coclass DNSSDRecord
4533dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4543dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	{
4553dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4563dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[default] interface IDNSSDRecord;
4573dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4583dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	};
4593dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4603dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	[
4613dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4623dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		uuid(BEEB932A-8D4A-4619-AEFE-A836F988B221),
4633dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4643dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		helpstring("DNSSDEventManager Class")
4653dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4663dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	]
4673dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4683dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	coclass DNSSDEventManager
4693dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4703dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	{
4713dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4723dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[default] interface IDNSSDEventManager;
4733dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4743dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin		[default, source] dispinterface _IDNSSDEvents;
4753dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4763dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	};
4773dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4783dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDFlags;
4793dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4803dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDAddressFamily;
4813dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4823dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDProtocol;
4833dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4843dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDRRClass;
4853dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4863dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDRRType;
4873dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4883dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin	enum DNSSDError;
4893dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
4903dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin};
4913dfdc952a3e125868a0a4123e40e1f7fd868af21Casey Dahlin
492