wmi-1.3.16 from opsview.com
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
DCOM interfaces
|
||||
http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm
|
||||
*/
|
||||
|
||||
/*
|
||||
The OXID Resolver can turn a OXID (Object Exporter ID) into a
|
||||
RPC binding string that can be used to contact an object
|
||||
|
||||
(used by DCOM)
|
||||
*/
|
||||
|
||||
import "dcom.idl", "orpc.idl";
|
||||
|
||||
[
|
||||
uuid("99fcfec4-5260-101b-bbcb-00aa0021347a"),
|
||||
helpstring("Object Exporter ID Resolver"),
|
||||
endpoint("ncacn_np:[\\pipe\\epmapper]", "ncacn_ip_tcp:[135]", "ncalrpc:"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IOXIDResolver
|
||||
{
|
||||
#define OXID hyper
|
||||
#define SETID hyper
|
||||
#define IPID GUID
|
||||
#define OID GUID
|
||||
|
||||
/* Method to get the protocol sequences, string bindings */
|
||||
/* and machine id for an object server given its OXID. */
|
||||
|
||||
[idempotent] WERROR ResolveOxid (
|
||||
[in] OXID pOxid,
|
||||
[in] uint16 cRequestedProtseqs,
|
||||
[in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
|
||||
[out] DUALSTRINGARRAY **ppdsaOxidBindings,
|
||||
[out,ref] IPID *pipidRemUnknown,
|
||||
[out,ref] uint32 *pAuthnHint
|
||||
);
|
||||
|
||||
/* Simple ping is used to ping a Set. Client machines use this */
|
||||
/* to inform the object exporter that it is still using the */
|
||||
/* members of the set. */
|
||||
/* Returns S_TRUE if the SetId is known by the object exporter, */
|
||||
/* S_FALSE if not. */
|
||||
[idempotent] WERROR SimplePing (
|
||||
[in] SETID *SetId /* Must not be zero */
|
||||
);
|
||||
|
||||
/* Complex ping is used to create sets of OIDs to ping. The */
|
||||
/* whole set can subsequently be pinged using SimplePing, */
|
||||
/* thus reducing network traffic. */
|
||||
[idempotent] WERROR ComplexPing (
|
||||
[in,out,ref] SETID *SetId, /* In of 0 on first call for new set. */
|
||||
[in] uint16 SequenceNum,
|
||||
[in] uint16 cAddToSet,
|
||||
[in] uint16 cDelFromSet,
|
||||
/* add these OIDs to the set */
|
||||
[in, size_is(cAddToSet)] OID AddToSet[],
|
||||
/*remove these OIDs from the set */
|
||||
[in, size_is(cDelFromSet)] OID DelFromSet[],
|
||||
[out,ref] uint16 *PingBackoffFactor/* 2^factor = multipler */
|
||||
);
|
||||
|
||||
/* In some cases the client maybe unsure that a particular */
|
||||
/* binding will reach the server. (For example, when the oxid */
|
||||
/* bindings have more than one TCP/IP binding) This call */
|
||||
/* can be used to validate the binding */
|
||||
/* from the client. */
|
||||
[idempotent] WERROR ServerAlive ();
|
||||
|
||||
/* Method to get the protocol sequences, string bindings, */
|
||||
/* RemoteUnknown IPID and COM version for an object server */
|
||||
/* given its OXID. Supported by DCOM */
|
||||
/* version 5.2 and above. Looks like that means
|
||||
* Windows 2003/XP and above */
|
||||
[idempotent] WERROR ResolveOxid2 (
|
||||
[in] OXID pOxid,
|
||||
[in] uint16 cRequestedProtseqs,
|
||||
[in, size_is(cRequestedProtseqs)] uint16 arRequestedProtseqs[],
|
||||
[out] DUALSTRINGARRAY **pdsaOxidBindings,
|
||||
[out,ref] IPID *ipidRemUnknown,
|
||||
[out,ref] uint32 *AuthnHint,
|
||||
[out,ref] COMVERSION *ComVersion
|
||||
);
|
||||
typedef struct {
|
||||
COMVERSION version;
|
||||
uint32 unknown1;
|
||||
} COMINFO;
|
||||
|
||||
[idempotent] WERROR ServerAlive2 (
|
||||
[out,ref] COMINFO *info,
|
||||
[out,ref] DUALSTRINGARRAY *dualstring,
|
||||
[out] uint8 unknown2[3]);
|
||||
}
|
||||
Reference in New Issue
Block a user