mirror of https://github.com/tongzx/nt5src
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.
167 lines
6.5 KiB
167 lines
6.5 KiB
/*++
|
|
|
|
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
|
|
//
|