Leaked source code of windows server 2003
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.
 
 
 
 
 
 

146 lines
3.4 KiB

/*++
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
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
);
//
// 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] PDNS_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] PDNS_ADDR pAddr,
[in] DWORD Flag
);
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
);
}