windows-nt/Source/XPSP1/NT/ds/dns/server/client/nt4stub.c

1394 lines
29 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
rpcstub.c
Abstract:
Domain Name System (DNS) Server -- Admin Client API
Client stubs for NT4 RPC API.
Note: some RPC calls were never used by the admin:
- R_DnsResetBootMethod
- R_DnsGetZoneWinsInfo
- R_DnsUpdateWinsRecord
They can not be removed from the IDL as order in the interface is
important. However the corresponding stub API are tossed.
In addition the R_DnsEnumNodeRecords call is completely
subsumed by the current behavior of the server by the old
DnsEnumChildNodesAndRecords call (renamed DnsEnumRecords)
with proper (no children) setting of select flag.
The old admin source has been updated, so that it sets the flag
to get the desired behavior. Hence the DnsEnumNodeRecords() call
is a no-op stub.
Author:
Jim Gilroy (jamesg) September 1995
Environment:
User Mode - Win32
Revision History:
jamesg April 1997 -- remove dead code
--*/
#include "dnsclip.h"
//
// Server configuration API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_GetServerInfo(
IN LPCSTR Server,
OUT PDNS_SERVER_INFO * ppServerInfo
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_GetServerInfo()\n"
"\tServer = %s\n"
"\tppServerInfo = %p\n"
"\t*ppServerInfo = %p\n",
Server,
ppServerInfo,
(ppServerInfo ? *ppServerInfo : NULL) ));
}
RpcTryExcept
{
status = R_Dns4_GetServerInfo(
Server,
ppServerInfo
);
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_GetServerInfo(): status %d / %p\n"
"\tServer = %s\n"
"\tppServerInfo = %p\n"
"\t*ppServerInfo = %p\n",
status,
status,
Server,
ppServerInfo,
(ppServerInfo ? *ppServerInfo : NULL) ));
if ( ppServerInfo )
{
Dns4_Dbg_RpcServerInfo(
NULL,
*ppServerInfo );
}
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetServerListenAddresses(
IN LPCSTR Server,
IN DWORD cListenAddrs,
IN PIP_ADDRESS aipListenAddrs
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetListenIpAddrs()\n"
"\tServer = %s\n"
"\tcListenAddrs = %d\n"
"\taipListenAddrs = %p\n",
Server,
cListenAddrs,
aipListenAddrs ));
}
RpcTryExcept
{
status = R_Dns4_ResetServerListenAddresses(
Server,
cListenAddrs,
aipListenAddrs );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetListenIpAddrs: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetForwarders(
IN LPCSTR Server,
IN DWORD cForwarders,
IN PIP_ADDRESS aipForwarders,
IN DNS_HANDLE dwForwardTimeout,
IN DWORD fSlave
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetForwarders()\n"
"\tServer = %s\n"
"\tcForwarders = %d\n"
"\taipForwarders = %p\n"
"\tdwForwardTimeout = %d\n"
"\tfSlave = %d\n",
Server,
cForwarders,
aipForwarders,
dwForwardTimeout,
fSlave ));
}
RpcTryExcept
{
status = R_Dns4_ResetForwarders(
Server,
cForwarders,
aipForwarders,
dwForwardTimeout,
fSlave );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetForwarders: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// Server Statistics API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_GetStatistics(
IN LPCSTR Server,
OUT PDNS4_STATISTICS * ppStatistics
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_GetStatistics()\n"
"\tServer = %s\n"
"\tppStatistics = %p\n"
"\t*ppStatistics = %p\n",
Server,
ppStatistics,
(ppStatistics ? *ppStatistics : NULL) ));
}
RpcTryExcept
{
status = R_Dns4_GetStatistics(
Server,
ppStatistics
);
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_GetStatistics(): status %d / %p\n"
"\tServer = %s\n"
"\tppStatistics = %p\n"
"\t*ppStatistics = %p\n",
status,
status,
Server,
ppStatistics,
(ppStatistics ? *ppStatistics : NULL) ));
if ( ppStatistics )
{
Dns4_Dbg_RpcStatistics(
"After R_Dns4_GetStatistics ",
*ppStatistics );
}
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ClearStatistics(
IN LPCSTR Server
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ClearStatistics()\n"
"\tServer = %s\n",
Server ));
}
RpcTryExcept
{
status = R_Dns4_ClearStatistics(
Server
);
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_ClearStatistics(): status %d / %p\n"
"\tServer = %s\n",
status,
status,
Server ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// Zone configuration API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_EnumZoneHandles(
IN LPCSTR Server,
OUT PDWORD pdwZoneCount,
IN DWORD dwArrayCount,
OUT DNS_HANDLE ahZones[]
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_EnumZoneHandles()\n"
"\tServer = %s\n"
"\tpdwZoneCount = %p\n"
"\tdwArrayCount = %p\n"
"\tahZones = %p\n",
Server,
pdwZoneCount,
dwArrayCount,
ahZones
));
}
RpcTryExcept
{
status = R_Dns4_EnumZoneHandles(
Server,
pdwZoneCount,
dwArrayCount,
ahZones
);
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_EnumZoneHandles: status = %d / %p\n",
status,
status ));
Dns4_Dbg_RpcZoneHandleList(
"After R_Dns4_EnumZoneHandles ",
*pdwZoneCount,
ahZones );
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_GetZoneInfo(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
OUT PDNS4_ZONE_INFO * ppZoneInfo
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_GetZoneInfo()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tppZoneInfo = %p\n"
"\t*ppZoneInfo = %p\n",
Server,
hZone,
ppZoneInfo,
(ppZoneInfo ? *ppZoneInfo : 0) ));
}
RpcTryExcept
{
status = R_Dns4_GetZoneInfo(
Server,
hZone,
ppZoneInfo
);
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_GetZoneInfo(): status %d / %p\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tppZoneInfo = %p\n"
"\t*ppZoneInfo = %p\n",
status,
status,
Server,
hZone,
ppZoneInfo,
(ppZoneInfo ? *ppZoneInfo : 0) ));
if ( ppZoneInfo )
{
Dns4_Dbg_RpcZoneInfo(
"After R_Dns4_GetZoneInfo ",
*ppZoneInfo );
}
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return (status);
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetZoneType(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
IN DWORD dwZoneType,
IN DWORD cMasters,
IN PIP_ADDRESS aipMasters
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetZoneType()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tdwZoneType = %d\n"
"\tcMasters = %d\n"
"\taipMasters = %p\n",
Server,
hZone,
dwZoneType,
cMasters,
aipMasters ));
}
RpcTryExcept
{
status = R_Dns4_ResetZoneType(
Server,
hZone,
dwZoneType,
cMasters,
aipMasters );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetZoneType: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetZoneDatabase(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
IN DWORD fUseDatabase,
IN LPCSTR pszDataFile
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetZoneDatabase()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tfUseDatabase = %d\n"
"\tpszDataFile = %p\n",
Server,
hZone,
fUseDatabase,
pszDataFile ));
}
RpcTryExcept
{
status = R_Dns4_ResetZoneDatabase(
Server,
hZone,
fUseDatabase,
pszDataFile );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetZoneDatabase: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetZoneMasters(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
IN DWORD cMasters,
IN PIP_ADDRESS aipMasters
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetZoneMasters()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tcMasters = %d\n"
"\taipMasters = %p\n",
Server,
hZone,
cMasters,
aipMasters ));
}
RpcTryExcept
{
status = R_Dns4_ResetZoneMasters(
Server,
hZone,
cMasters,
aipMasters );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetZoneMasters: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResetZoneSecondaries(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
IN DWORD fSecureSecondaries,
IN DWORD cSecondaries,
IN PIP_ADDRESS aipSecondaries
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResetZoneSecondaries()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tfSecureSecs = %d\n"
"\tcSecondaries = %d\n"
"\taipSecondaries = %p\n",
Server,
hZone,
fSecureSecondaries,
cSecondaries,
aipSecondaries ));
}
RpcTryExcept
{
status = R_Dns4_ResetZoneSecondaries(
Server,
hZone,
fSecureSecondaries,
cSecondaries,
aipSecondaries );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_ResetZoneSecondaries: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// Zone management API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_CreateZone(
IN LPCSTR Server,
OUT PDNS_HANDLE phZone,
IN LPCSTR pszZoneName,
IN DWORD dwZoneType,
IN LPCSTR pszAdminEmailName,
IN DWORD cMasters,
IN PIP_ADDRESS aipMasters,
IN DWORD dwUseDatabase,
IN LPCSTR pszDataFile
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_CreateZone()\n"
"\tServer = %s\n"
"\tphZone = %p\n"
"\tpszZoneName = %s\n"
"\tdwZoneType = %d\n"
"\tpszAdminEmail = %s\n"
"\tcMasters = %d\n"
"\taipMasters = %p\n"
"\tdwUseDatabase = %d\n"
"\tpszDataFile = %s\n",
Server,
phZone,
pszZoneName,
dwZoneType,
pszAdminEmailName,
cMasters,
aipMasters,
dwUseDatabase,
pszDataFile ));
}
RpcTryExcept
{
status = R_Dns4_CreateZone(
Server,
phZone,
pszZoneName,
dwZoneType,
pszAdminEmailName,
cMasters,
aipMasters,
dwUseDatabase,
pszDataFile );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_CreateZone: status = %d / %p\n"
"\tphZone = %p\n"
"\thZone = %p\n",
status,
status,
phZone,
*phZone ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_IncrementZoneVersion(
IN LPCSTR Server,
IN DNS_HANDLE hZone
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_IncrementZoneVersion()\n"
"\tServer = %s\n"
"\thZone = %p\n",
Server,
hZone ));
}
RpcTryExcept
{
status = R_Dns4_IncrementZoneVersion(
Server,
hZone );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_IncrementZoneVersion(): status %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_DeleteZone(
IN LPCSTR Server,
IN DNS_HANDLE hZone
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_DeleteZone()\n"
"\tServer = %s\n"
"\thZone = %p\n",
Server,
hZone ));
}
RpcTryExcept
{
status = R_Dns4_DeleteZone(
Server,
hZone );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_DeleteZone(): status %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_PauseZone(
IN LPCSTR Server,
IN DNS_HANDLE hZone
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_PauseZone()\n"
"\tServer = %s\n"
"\thZone = %p\n",
Server,
hZone ));
}
RpcTryExcept
{
status = R_Dns4_PauseZone(
Server,
hZone );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_PauseZone(): status %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_ResumeZone(
IN LPCSTR Server,
IN DNS_HANDLE hZone
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_ResumeZone()\n"
"\tServer = %s\n"
"\thZone = %p\n",
Server,
hZone ));
}
RpcTryExcept
{
status = R_Dns4_ResumeZone(
Server,
hZone );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Leave R_Dns4_ResumeZone(): status %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// Record viewing API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_EnumNodeRecords(
IN LPCSTR Server,
IN LPCSTR pszNodeName,
IN WORD wRecordType,
IN DWORD fNoCacheData,
IN OUT PDWORD pdwBufferLength,
OUT BYTE aBuffer[]
)
{
DNS_PRINT(( "Dns4_EnumNodeRecords() API retired!!!\n" ));
// don't assert yet to protect old admin in NT builds
// ASSERT( FALSE );
*pdwBufferLength = 0;
return( ERROR_SUCCESS );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_EnumRecords(
IN LPCSTR Server,
IN LPCSTR pszNodeName,
IN LPCSTR pszStartChild,
IN WORD wRecordType,
IN DWORD dwSelectFlag,
IN OUT PDWORD pdwBufferLength,
OUT BYTE aBuffer[]
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_EnumRecords()\n"
"\tServer = %s\n"
"\tpszNodeName = %s\n"
"\tpszStartChild = %s\n"
"\twRecordType = %d\n"
"\tdwSelectFlag = %p\n"
"\tdwBufferLength = %d\n"
"\taBuffer = %p\n",
Server,
pszNodeName,
pszStartChild,
wRecordType,
dwSelectFlag,
*pdwBufferLength,
aBuffer ));
}
RpcTryExcept
{
status = R_Dns4_EnumRecords(
Server,
pszNodeName,
pszStartChild,
wRecordType,
dwSelectFlag,
pdwBufferLength,
aBuffer );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_EnumRecords: status = %d / %p\n",
status,
status ));
if ( status == ERROR_SUCCESS )
{
DnsDbg_RpcRecordsInBuffer(
"Returned records: ",
*pdwBufferLength,
aBuffer );
}
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_GetZoneWinsInfo(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
OUT PDWORD pfUsingWins,
IN OUT PDWORD pdwBufferLength,
OUT BYTE aBuffer[]
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_GetZoneWinsInfo()\n"
"\tServer = %s\n"
"\thZone = %p\n"
"\tpfUsingWins = %p\n"
"\tdwBufferLength = %d\n"
"\taBuffer = %p\n",
Server,
hZone,
pfUsingWins,
*pdwBufferLength,
aBuffer ));
}
RpcTryExcept
{
status = R_Dns4_GetZoneWinsInfo(
Server,
hZone,
pfUsingWins,
pdwBufferLength,
aBuffer );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_GetZoneWinsInfo: status = %d / %p\n",
status,
status ));
if ( status == ERROR_SUCCESS )
{
DnsDbg_RpcRecordsInBuffer(
"Returned records: ",
*pdwBufferLength,
aBuffer );
}
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// Record management API
//
DNS_STATUS
DNS_API_FUNCTION
Dns4_UpdateRecord(
IN LPCSTR Server,
IN DNS_HANDLE hZone,
IN LPCSTR pszNodeName,
IN OUT PDNS_HANDLE phRecord,
IN DWORD dwDataLength,
OUT BYTE abData[]
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_UpdateRecord()\n"
"\tServer = %s\n"
"\thZone = %d\n"
"\tpszNodeName = %s\n"
"\tphRecord = %p\n"
"\t*phRecord = %p\n"
"\tdwDataLength = %d\n"
"\tabData = %p\n",
Server,
hZone,
pszNodeName,
phRecord,
( phRecord ? *phRecord : 0 ),
dwDataLength,
abData ));
}
RpcTryExcept
{
status = R_Dns4_UpdateRecord(
Server,
hZone,
pszNodeName,
phRecord,
dwDataLength,
abData );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_UpdateRecord: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_DeleteRecord(
IN LPCSTR Server,
IN LPCSTR pszNodeName,
OUT DNS_HANDLE hRecord
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_DeleteRecord()\n"
"\tServer = %s\n"
"\tpszNodeName = %s\n"
"\thRecord = %d\n",
Server,
pszNodeName,
hRecord ));
}
RpcTryExcept
{
status = R_Dns4_DeleteRecord(
Server,
pszNodeName,
hRecord );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_DeleteRecord: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
DNS_STATUS
DNS_API_FUNCTION
Dns4_DeleteName(
IN LPCSTR Server,
IN LPCSTR pszNodeName,
OUT DNS_HANDLE fDeleteSubtree
)
{
DNS_STATUS status;
IF_DNSDBG( STUB )
{
DNS_PRINT((
"Enter R_Dns4_DeleteName()\n"
"\tServer = %s\n"
"\tpszNodeName = %s\n"
"\tfDeleteSubtree = %d\n",
Server,
pszNodeName,
fDeleteSubtree ));
}
RpcTryExcept
{
status = R_Dns4_DeleteName(
Server,
pszNodeName,
fDeleteSubtree );
IF_DNSDBG( STUB )
{
DNS_PRINT((
"R_Dns4_DeleteName: status = %d / %p\n",
status,
status ));
}
}
RpcExcept (1)
{
status = RpcExceptionCode();
IF_DNSDBG( STUB )
{
DNS_PRINT((
"RpcExcept: code = %d / %p\n",
status,
status ));
}
}
RpcEndExcept
return( status );
}
//
// End of rpcstub.c
//