|
|
/*++
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 );
}
|