diff options
Diffstat (limited to 'mDNSResponder/mDNSWindows/DLLStub')
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp | 693 | ||||
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLStub/DLLStub.h | 52 | ||||
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcproj | 324 | ||||
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj | 188 | ||||
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj.filters | 30 |
5 files changed, 1287 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp new file mode 100755 index 00000000..503465f2 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp @@ -0,0 +1,693 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2009, Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "DLLStub.h" + +static int g_defaultErrorCode = kDNSServiceErr_ServiceNotRunning; +static DLLStub g_glueLayer; + + +// ------------------------------------------ +// DLLStub implementation +// ------------------------------------------ +DLLStub * DLLStub::m_instance; + +DLLStub::DLLStub() +: + m_library( LoadLibrary( TEXT( "dnssd.dll" ) ) ) +{ + m_instance = this; +} + + +DLLStub::~DLLStub() +{ + if ( m_library != NULL ) + { + FreeLibrary( m_library ); + m_library = NULL; + } + + m_instance = NULL; +} + + +bool +DLLStub::GetProcAddress( FARPROC * func, LPCSTR lpProcName ) +{ + if ( m_instance && m_instance->m_library ) + { + // Only call ::GetProcAddress if *func is NULL. This allows + // the calling code to cache the funcptr value, and we get + // some performance benefit. + + if ( *func == NULL ) + { + *func = ::GetProcAddress( m_instance->m_library, lpProcName ); + } + } + else + { + *func = NULL; + } + + return ( *func != NULL ); +} + + +int DNSSD_API +DNSServiceRefSockFD(DNSServiceRef sdRef) +{ + typedef int (DNSSD_API * Func)(DNSServiceRef sdRef); + static Func func = NULL; + int ret = -1; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceProcessResult(DNSServiceRef sdRef) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef sdRef); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef ); + } + + return ret; +} + + +void DNSSD_API +DNSServiceRefDeallocate(DNSServiceRef sdRef) +{ + typedef void (DNSSD_API * Func)(DNSServiceRef sdRef); + static Func func = NULL; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + func( sdRef ); + } +} + + +DNSServiceErrorType DNSSD_API +DNSServiceEnumerateDomains + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + DNSServiceDomainEnumReply callBack, + void *context + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, DNSServiceDomainEnumReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceRegister + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *name, + const char *regtype, + const char *domain, + const char *host, + uint16_t port, + uint16_t txtLen, + const void *txtRecord, + DNSServiceRegisterReply callBack, + void *context + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, const char*, const char*, const char*, const char*, uint16_t, uint16_t, const void*, DNSServiceRegisterReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, name, regtype, domain, host, port, txtLen, txtRecord, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceAddRecord + ( + DNSServiceRef sdRef, + DNSRecordRef *RecordRef, + DNSServiceFlags flags, + uint16_t rrtype, + uint16_t rdlen, + const void *rdata, + uint32_t ttl + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef, DNSRecordRef*, DNSServiceFlags, uint16_t, uint16_t, const void*, uint32_t ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, RecordRef, flags, rrtype, rdlen, rdata, ttl ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceUpdateRecord + ( + DNSServiceRef sdRef, + DNSRecordRef RecordRef, /* may be NULL */ + DNSServiceFlags flags, + uint16_t rdlen, + const void *rdata, + uint32_t ttl + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef, DNSRecordRef, DNSServiceFlags, uint16_t, const void*, uint32_t ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, RecordRef, flags, rdlen, rdata, ttl ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceRemoveRecord + ( + DNSServiceRef sdRef, + DNSRecordRef RecordRef, + DNSServiceFlags flags + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef, DNSRecordRef, DNSServiceFlags ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, RecordRef, flags ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceBrowse + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *regtype, + const char *domain, /* may be NULL */ + DNSServiceBrowseReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, const char*, const char*, DNSServiceBrowseReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, regtype, domain, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceResolve + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *name, + const char *regtype, + const char *domain, + DNSServiceResolveReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, const char*, const char*, const char*, DNSServiceResolveReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, name, regtype, domain, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceConstructFullName + ( + char *fullName, + const char *service, /* may be NULL */ + const char *regtype, + const char *domain + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( char*, const char*, const char*, const char* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( fullName, service, regtype, domain ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceCreateConnection(DNSServiceRef *sdRef) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( DNSServiceRef* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceRegisterRecord + ( + DNSServiceRef sdRef, + DNSRecordRef *RecordRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *fullname, + uint16_t rrtype, + uint16_t rrclass, + uint16_t rdlen, + const void *rdata, + uint32_t ttl, + DNSServiceRegisterRecordReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef, DNSRecordRef*, DNSServiceFlags, uint32_t, const char*, uint16_t, uint16_t, uint16_t, const void*, uint16_t, DNSServiceRegisterRecordReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, RecordRef, flags, interfaceIndex, fullname, rrtype, rrclass, rdlen, rdata, ttl, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceQueryRecord + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *fullname, + uint16_t rrtype, + uint16_t rrclass, + DNSServiceQueryRecordReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, const char*, uint16_t, uint16_t, DNSServiceQueryRecordReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, fullname, rrtype, rrclass, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceReconfirmRecord + ( + DNSServiceFlags flags, + uint32_t interfaceIndex, + const char *fullname, + uint16_t rrtype, + uint16_t rrclass, + uint16_t rdlen, + const void *rdata + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( DNSServiceFlags, uint32_t, const char*, uint16_t, uint16_t, uint16_t, const void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( flags, interfaceIndex, fullname, rrtype, rrclass, rdlen, rdata ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceNATPortMappingCreate + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + DNSServiceProtocol protocol, /* TCP and/or UDP */ + uint16_t internalPort, /* network byte order */ + uint16_t externalPort, /* network byte order */ + uint32_t ttl, /* time to live in seconds */ + DNSServiceNATPortMappingReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, DNSServiceProtocol, uint16_t, uint16_t, uint16_t, DNSServiceNATPortMappingReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, protocol, internalPort, externalPort, ttl, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceGetAddrInfo + ( + DNSServiceRef *sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, + DNSServiceProtocol protocol, + const char *hostname, + DNSServiceGetAddrInfoReply callBack, + void *context /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)(DNSServiceRef*, DNSServiceFlags, uint32_t, DNSServiceProtocol, const char*, DNSServiceGetAddrInfoReply, void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( sdRef, flags, interfaceIndex, protocol, hostname, callBack, context ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +DNSServiceGetProperty + ( + const char *property, /* Requested property (i.e. kDNSServiceProperty_DaemonVersion) */ + void *result, /* Pointer to place to store result */ + uint32_t *size /* size of result location */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( const char*, void*, uint32_t* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( property, result, size ); + } + + return ret; +} + + +void DNSSD_API +TXTRecordCreate + ( + TXTRecordRef *txtRecord, + uint16_t bufferLen, + void *buffer + ) +{ + typedef void (DNSSD_API * Func)( TXTRecordRef*, uint16_t, void* ); + static Func func = NULL; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + func( txtRecord, bufferLen, buffer ); + } +} + + +void DNSSD_API +TXTRecordDeallocate + ( + TXTRecordRef *txtRecord + ) +{ + typedef void (DNSSD_API * Func)( TXTRecordRef* ); + static Func func = NULL; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + func( txtRecord ); + } +} + + +DNSServiceErrorType DNSSD_API +TXTRecordSetValue + ( + TXTRecordRef *txtRecord, + const char *key, + uint8_t valueSize, /* may be zero */ + const void *value /* may be NULL */ + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( TXTRecordRef*, const char*, uint8_t, const void* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtRecord, key, valueSize, value ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +TXTRecordRemoveValue + ( + TXTRecordRef *txtRecord, + const char *key + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( TXTRecordRef*, const char* ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtRecord, key ); + } + + return ret; +} + + +int DNSSD_API +TXTRecordContainsKey + ( + uint16_t txtLen, + const void *txtRecord, + const char *key + ) +{ + typedef int (DNSSD_API * Func)( uint16_t, const void*, const char* ); + static Func func = NULL; + int ret = 0; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtLen, txtRecord, key ); + } + + return ret; +} + + +uint16_t DNSSD_API +TXTRecordGetCount + ( + uint16_t txtLen, + const void *txtRecord + ) +{ + typedef uint16_t (DNSSD_API * Func)( uint16_t, const void* ); + static Func func = NULL; + uint16_t ret = 0; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtLen, txtRecord ); + } + + return ret; +} + + +uint16_t DNSSD_API +TXTRecordGetLength + ( + const TXTRecordRef *txtRecord + ) +{ + typedef uint16_t (DNSSD_API * Func)( const TXTRecordRef* ); + static Func func = NULL; + uint16_t ret = 0; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtRecord ); + } + + return ret; +} + + +const void * DNSSD_API +TXTRecordGetBytesPtr + ( + const TXTRecordRef *txtRecord + ) +{ + typedef const void* (DNSSD_API * Func)( const TXTRecordRef* ); + static Func func = NULL; + const void* ret = NULL; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtRecord ); + } + + return ret; +} + + +const void * DNSSD_API +TXTRecordGetValuePtr + ( + uint16_t txtLen, + const void *txtRecord, + const char *key, + uint8_t *valueLen + ) +{ + typedef const void* (DNSSD_API * Func)( uint16_t, const void*, const char*, uint8_t* ); + static Func func = NULL; + const void* ret = NULL; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtLen, txtRecord, key, valueLen ); + } + + return ret; +} + + +DNSServiceErrorType DNSSD_API +TXTRecordGetItemAtIndex + ( + uint16_t txtLen, + const void *txtRecord, + uint16_t itemIndex, + uint16_t keyBufLen, + char *key, + uint8_t *valueLen, + const void **value + ) +{ + typedef DNSServiceErrorType (DNSSD_API * Func)( uint16_t, const void*, uint16_t, uint16_t, char*, uint8_t*, const void** ); + static Func func = NULL; + DNSServiceErrorType ret = g_defaultErrorCode; + + if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) ) + { + ret = func( txtLen, txtRecord, itemIndex, keyBufLen, key, valueLen, value ); + } + + return ret; +} diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.h b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.h new file mode 100755 index 00000000..44f57d17 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.h @@ -0,0 +1,52 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2009, Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _DLLStub_h +#define _DLLStub_h + +#include <windows.h> +#include <dns_sd.h> + +class DLLStub +{ +public: + + DLLStub(); + ~DLLStub(); + + static bool + GetProcAddress( FARPROC * func, LPCSTR lpProcName ); + +private: + + static DLLStub * m_instance; + HMODULE m_library; +}; + + +#endif
\ No newline at end of file diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcproj b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcproj new file mode 100755 index 00000000..dc682892 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcproj @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="DLLStub"
+ ProjectGUID="{3A2B6325-3053-4236-84BD-AA9BE2E323E5}"
+ RootNamespace="DLLStub"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ UseOfATL="0"
+ CharacterSet="1"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\mDNSShared;..\..\mDNSWindows"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ ProgramDataBaseFileName="$(IntDir)\dnssd.pdb"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\dnssdStatic.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ UseOfATL="0"
+ CharacterSet="1"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\mDNSShared;..\..\mDNSWindows"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ ProgramDataBaseFileName="$(IntDir)\dnssd.pdb"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\dnssdStatic.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ UseOfATL="0"
+ CharacterSet="1"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\mDNSShared;..\..\mDNSWindows"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ ProgramDataBaseFileName="$(IntDir)\dnssd.lib.pdb"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\dnssdStatic.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="if not "%RC_XBS%" == "YES" goto END
if not exist "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)" mkdir "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)"
echo F | xcopy /Y "$(OutDir)\dnssdStatic.lib" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)\dnssd.lib"
xcopy /Y "$(OutDir)\dnssd.lib.pdb" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)"
:END
"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ UseOfATL="0"
+ CharacterSet="1"
+ WholeProgramOptimization="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\mDNSShared;..\..\mDNSWindows"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ ProgramDataBaseFileName="$(IntDir)\dnssd.lib.pdb"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\dnssdStatic.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="if not "%RC_XBS%" == "YES" goto END
if not exist "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)" mkdir "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)"
echo F | xcopy /I/Y "$(OutDir)\dnssdStatic.lib" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)\dnssd.lib"
xcopy /Y "$(OutDir)\dnssd.lib.pdb" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(PlatformName)"
:END
"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\DLLStub.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\DLLStub.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj new file mode 100755 index 00000000..292d931f --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{3A2B6325-3053-4236-84BD-AA9BE2E323E5}</ProjectGuid>
+ <RootNamespace>DLLStub</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfAtl>false</UseOfAtl>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfAtl>false</UseOfAtl>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfAtl>false</UseOfAtl>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseOfAtl>false</UseOfAtl>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">dnssdStatic</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">dnssdStatic</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">dnssdStatic</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">dnssdStatic</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\mDNSShared;..\..\mDNSWindows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <ProgramDataBaseFileName>$(IntDir)dnssd.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)dnssdStatic.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\mDNSShared;..\..\mDNSWindows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <ProgramDataBaseFileName>$(IntDir)dnssd.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)dnssdStatic.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\..\mDNSShared;..\..\mDNSWindows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <ProgramDataBaseFileName>$(IntDir)dnssd.lib.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)dnssdStatic.lib</OutputFile>
+ </Lib>
+ <PostBuildEvent>
+ <Command>if not "%RC_XBS%" == "YES" goto END
+if not exist "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)" mkdir "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)"
+echo F | xcopy /Y "$(OutDir)dnssdStatic.lib" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)\dnssd.lib"
+xcopy /Y "$(OutDir)dnssd.lib.pdb" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)"
+:END
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\..\mDNSShared;..\..\mDNSWindows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <ProgramDataBaseFileName>$(IntDir)dnssd.lib.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Lib>
+ <OutputFile>$(OutDir)dnssdStatic.lib</OutputFile>
+ </Lib>
+ <PostBuildEvent>
+ <Command>if not "%RC_XBS%" == "YES" goto END
+if not exist "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)" mkdir "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)"
+echo F | xcopy /I/Y "$(OutDir)dnssdStatic.lib" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)\dnssd.lib"
+xcopy /Y "$(OutDir)dnssd.lib.pdb" "$(DSTROOT)\Program Files\Bonjour SDK\lib\$(Platform)"
+:END
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="DLLStub.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="DLLStub.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\DLL\dnssd.vcxproj">
+ <Project>{ab581101-18f0-46f6-b56a-83a6b1ea657e}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj.filters b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj.filters new file mode 100755 index 00000000..8b6d8334 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="DLLStub.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="DLLStub.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+</Project>
\ No newline at end of file |