181 lines
4.1 KiB
Plaintext
181 lines
4.1 KiB
Plaintext
/*++
|
|
|
|
Copyright (c) 1997-2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
dnsrsvlr.idl
|
|
|
|
Abstract:
|
|
|
|
This is the IDL file that describes the RPC interface for the
|
|
DNS Caching Resolver Service internal APIs.
|
|
|
|
Author:
|
|
|
|
Glenn Curtis (glennc) 25-Feb-1997
|
|
|
|
Environment:
|
|
|
|
User Mode -Win32
|
|
|
|
Revision History:
|
|
|
|
Jim Gilroy (jamesg) June 2000 -- start cleaning the mess
|
|
|
|
--*/
|
|
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
[
|
|
uuid(45776b01-5956-4485-9f80-f428f7d60129),
|
|
version(2.0),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
//
|
|
// Interface Keyword
|
|
//
|
|
|
|
interface DnsResolver
|
|
|
|
//
|
|
// Interface Body
|
|
//
|
|
{
|
|
|
|
import "imports.idl";
|
|
|
|
//
|
|
// Handle types
|
|
//
|
|
|
|
typedef [handle] wchar_t * DNS_RPC_HANDLE;
|
|
|
|
|
|
//
|
|
// Function prototypes
|
|
//
|
|
|
|
DNS_STATUS
|
|
CRrReadCache(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[out] PDNS_RPC_CACHE_TABLE * ppCacheTable
|
|
);
|
|
|
|
DNS_STATUS
|
|
CRrReadCacheEntry(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[in,string] wchar_t * Name,
|
|
[in] WORD Type,
|
|
[out] PDNS_RECORD * ppRRSet
|
|
);
|
|
|
|
DNS_STATUS
|
|
CRrGetHashTableStats(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[out] LPDWORD pdwCacheHashTableSize,
|
|
[out] LPDWORD pdwCacheHashTableBucketSize,
|
|
[out] LPDWORD pdwNumberOfCacheEntries,
|
|
[out] LPDWORD pdwNumberOfRecords,
|
|
[out] LPDWORD pdwNumberOfExpiredRecords,
|
|
[out] PDNS_STATS_TABLE * ppStatsTable
|
|
);
|
|
|
|
#if 0
|
|
BOOL
|
|
CRrRegisterParamChange(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[in,string] wchar_t * ServiceName,
|
|
[in] DWORD Control
|
|
);
|
|
|
|
BOOL
|
|
CRrDeregisterParamChange(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[in,string] wchar_t * ServiceName
|
|
);
|
|
#endif
|
|
|
|
DNS_STATUS
|
|
CRrUpdateTest(
|
|
[in,string,unique] DNS_RPC_HANDLE Reserved,
|
|
[in,string] wchar_t * Name,
|
|
[in] DWORD fOptions,
|
|
[in] IP_ADDRESS Server
|
|
);
|
|
|
|
|
|
//
|
|
// New functions
|
|
//
|
|
// Most of the above is either useless or poorly designed.
|
|
// Instead of separate IDL, build the new functions here
|
|
// one by one.
|
|
//
|
|
|
|
void
|
|
R_ResolverGetConfig(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in] DWORD Cookie,
|
|
[out] PRPC_DNS_NETINFO * ppNetInfo,
|
|
[out] PDNS_GLOBALS_BLOB * ppGlobals
|
|
);
|
|
|
|
DNS_STATUS
|
|
R_ResolverFlushCache(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle
|
|
);
|
|
|
|
DNS_STATUS
|
|
R_ResolverFlushCacheEntry(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in,string,unique] LPWSTR pwsName,
|
|
[in] WORD wType
|
|
);
|
|
|
|
DNS_STATUS
|
|
R_ResolverRegisterCluster(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in] DWORD Tag,
|
|
[in,string,unique] PWSTR pwsName,
|
|
[in] PRPC_IP_UNION pIpUnion,
|
|
[in] DWORD Flag
|
|
);
|
|
|
|
void
|
|
R_ResolverGetLocalAddrInfoArray(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[out] PDNS_ADDR_ARRAY * ppAddrArray,
|
|
[in] ENVAR_DWORD_INFO FilterInfo
|
|
);
|
|
|
|
DNS_STATUS
|
|
R_ResolverQuery(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in,string,unique] LPWSTR pwsName,
|
|
[in] WORD wType,
|
|
[in] DWORD Flags,
|
|
[out] PDNS_RECORD * ppResultRecords
|
|
);
|
|
|
|
DNS_STATUS
|
|
R_ResolverEnumCache(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in] PDNS_CACHE_ENUM_REQUEST pRequest,
|
|
[out] PDNS_CACHE_ENUM * ppEnum
|
|
);
|
|
|
|
void
|
|
R_ResolverPoke(
|
|
[in,string,unique] DNS_RPC_HANDLE Handle,
|
|
[in] DWORD Tag,
|
|
[in] DWORD Id
|
|
);
|
|
|
|
}
|
|
|