You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.0 KiB
91 lines
2.0 KiB
|
|
#include "pch.h"
|
|
|
|
extern "C" int __cdecl wmain(const UINT argc,const WCHAR* argv[]);
|
|
|
|
|
|
typedef HRESULT (WINAPI * PFNDNSETUP)(LPCWSTR lpszFwdZoneName,
|
|
LPCWSTR lpszFwdZoneFileName,
|
|
LPCWSTR lpszRevZoneName,
|
|
LPCWSTR lpszRevZoneFileName,
|
|
DWORD dwFlags);
|
|
|
|
|
|
HRESULT DnsSetup(LPCWSTR lpszFwdZoneName,
|
|
LPCWSTR lpszFwdZoneFileName,
|
|
LPCWSTR lpszRevZoneName,
|
|
LPCWSTR lpszRevZoneFileName,
|
|
DWORD dwFlags)
|
|
{
|
|
|
|
HMODULE hLibrary = ::LoadLibrary(L"dnsmgr.dll");
|
|
if (NULL == hLibrary)
|
|
{
|
|
// The library is not present
|
|
wprintf(L"LoadLibrary() failed\n");
|
|
return E_INVALIDARG;
|
|
}
|
|
|
|
FARPROC pfFunction = ::GetProcAddress(hLibrary, "DnsSetup" );
|
|
if ( NULL == pfFunction )
|
|
{
|
|
// The library is present but does not have the entry point
|
|
wprintf(L"GetProcAddress() failed\n");
|
|
::FreeLibrary( hLibrary );
|
|
return E_INVALIDARG;
|
|
}
|
|
|
|
|
|
wprintf(L"calling function\n");
|
|
|
|
HRESULT hr = ((PFNDNSETUP)pfFunction)
|
|
(lpszFwdZoneName ,lpszFwdZoneFileName, lpszRevZoneName, lpszRevZoneFileName, dwFlags);
|
|
|
|
|
|
wprintf(L"function returned hr = 0x%x\n", hr);
|
|
|
|
::FreeLibrary( hLibrary );
|
|
|
|
return hr;
|
|
}
|
|
|
|
|
|
|
|
|
|
int __cdecl wmain(const UINT argc,const WCHAR* argv[])
|
|
{
|
|
|
|
LPCWSTR lpszFwdZoneName = NULL;
|
|
LPCWSTR lpszFwdZoneFileName = NULL;
|
|
LPCWSTR lpszRevZoneName = NULL;
|
|
LPCWSTR lpszRevZoneFileName = NULL;
|
|
|
|
|
|
if ((argc != 3) && (argc != 5))
|
|
{
|
|
wprintf(L"usage:\n");
|
|
wprintf(L"dnssetup fdwzonename fwzzonefilename [revzonename revzonefilename]\n");
|
|
return -1;
|
|
}
|
|
|
|
lpszFwdZoneName = argv[1];
|
|
lpszFwdZoneFileName = argv[2];
|
|
|
|
if (argc == 5)
|
|
{
|
|
LPCWSTR lpszRevZoneName = argv[3];
|
|
LPCWSTR lpszRevZoneFileName = argv[4];
|
|
}
|
|
|
|
wprintf(L"Starting\n");
|
|
|
|
|
|
HRESULT hr = DnsSetup(lpszFwdZoneName, lpszFwdZoneFileName, lpszRevZoneName, lpszRevZoneFileName, 0x0);
|
|
|
|
|
|
|
|
wprintf(L"\nDone\n");
|
|
return 0;
|
|
}
|
|
|
|
|