|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
dnssrv.idl
Abstract:
Domain Name System (DNS) Server
DNS RPC API and type definitions.
Author:
Jim Gilroy (jamesg) April, 1997
Revision History:
--*/
// // NT5 RPC Interface definition //
[ uuid(50abc2a4-574d-40b3-9d66-ee4fd5fba076), version(5.0), pointer_default(unique) ]
interface DnsServer {
import "imports.idl";
typedef [handle] LPCWSTR DNSSRV_RPC_HANDLE;
// // RPC API //
DNS_STATUS R_DnssrvOperation( [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in] DWORD dwContext, [in, unique, string] LPCSTR pszOperation, [in] DWORD dwTypeId, [in, switch_is(dwTypeId)] DNSSRV_RPC_UNION pData );
DNS_STATUS R_DnssrvQuery( [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszOperation, [out] PDWORD pdwTypeId, [out, switch_is(*pdwTypeId)] DNSSRV_RPC_UNION * ppData );
DNS_STATUS R_DnssrvComplexOperation( [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszOperation, [in] DWORD dwTypeIn, [in, switch_is(dwTypeIn)] DNSSRV_RPC_UNION pDataIn, [out] PDWORD pdwTypeOut, [out, switch_is(*pdwTypeOut)] DNSSRV_RPC_UNION * ppDataOut );
DNS_STATUS R_DnssrvEnumRecords( [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszNodeName, [in, unique, string] LPCSTR pszStartChild, [in] WORD wRecordType, [in] DWORD fSelectFlag, [in, unique, string] LPCSTR pszFilterStart, [in, unique, string] LPCSTR pszFilterStop, [out] PDWORD pdwBufferLength, [out, size_is(, *pdwBufferLength)] PBYTE * ppBuffer );
DNS_STATUS R_DnssrvUpdateRecord( [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, string] LPCSTR pszNodeName, [in, unique] PDNS_RPC_RECORD pAddRecord, [in, unique] PDNS_RPC_RECORD pDeleteRecord );
DNS_STATUS R_DnssrvOperation2( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in] DWORD dwContext, [in, unique, string] LPCSTR pszOperation, [in] DWORD dwTypeId, [in, switch_is(dwTypeId)] DNSSRV_RPC_UNION pData );
DNS_STATUS R_DnssrvQuery2( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszOperation, [out] PDWORD pdwTypeId, [out, switch_is(*pdwTypeId)] DNSSRV_RPC_UNION * ppData );
DNS_STATUS R_DnssrvComplexOperation2( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszOperation, [in] DWORD dwTypeIn, [in, switch_is(dwTypeIn)] DNSSRV_RPC_UNION pDataIn, [out] PDWORD pdwTypeOut, [out, switch_is(*pdwTypeOut)] DNSSRV_RPC_UNION * ppDataOut );
DNS_STATUS R_DnssrvEnumRecords2( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, unique, string] LPCSTR pszNodeName, [in, unique, string] LPCSTR pszStartChild, [in] WORD wRecordType, [in] DWORD fSelectFlag, [in, unique, string] LPCSTR pszFilterStart, [in, unique, string] LPCSTR pszFilterStop, [out] PDWORD pdwBufferLength, [out, size_is(, *pdwBufferLength)] PBYTE * ppBuffer );
DNS_STATUS R_DnssrvUpdateRecord2( [in] DWORD dwClientVersion, [in] DWORD dwSettingFlags, [in, unique, string] DNSSRV_RPC_HANDLE hServer, [in, unique, string] LPCSTR pszZone, [in, string] LPCSTR pszNodeName, [in, unique] PDNS_RPC_RECORD pAddRecord, [in, unique] PDNS_RPC_RECORD pDeleteRecord );
}
// // End of dnssrv.idl //
|