⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcomlib.h

📁 VXWORKS源代码
💻 H
字号:
/* dcomLib.h - VxWorks DCOM public API *//* Copyright (c) 1998 Wind River Systems, Inc. *//*modification history--------------------01r,11oct01,nel  Add SCM Stack Size param to dcomLibInit.01q,16jul01,dbs  fix up for plain C compilation, add definition of dcomLibInit01p,12mar01,nel  SPR#62130. Add CoDisconectObject API def.01o,20sep99,dbs  use vxidl.idl types01n,09sep99,drm  Removing GUID_VXDCOM_EXTENT and VXDCOMEXTENT definitions from                 here as they've been moved to the new file dcomExtent.h01m,21jul99,drm  Adding GUID and structure for the VxDCOM extent.01l,24jun99,dbs  add authn APIs01k,21apr99,dbs  add fwd decls of RPC interfaces01j,21apr99,dbs  move IRpcChannelBuffer into its own privte header01i,29jan99,dbs  simplify proxy/stub code01h,20jan99,dbs  fix file names - vxcom becomes com01g,22dec98,dbs  tidy up ORPC interface01f,18dec98,dbs  move some stuff to vxcomLib.h01e,14dec98,dbs  enhance RPCOLEMESSAGE struct, speed up GUID ops01d,11dec98,dbs  remove need for COM_NO_WINDOWS_H flag01c,11dec98,dbs  simplify registry01b,26nov98,dbs  add IRemUnknown functionality01a,17nov98,dbs  created*//*DESCRIPTION:This file defines a working subset of the COM API (as defined byMicrosoft) for support of DCOM in VxWorks.*/#ifndef __INCdcomLib_h#define __INCdcomLib_h#include "comLib.h"EXTERN_C const CLSID CLSID_StdMarshal;#ifdef __cplusplusextern "C" {#endif/* * DCOM library initialisation/termination functions. */STATUS dcomLibInit    (    int,			/* BSTR policy */    int,			/* DCOM Authentication level */    unsigned int,		/* thread priority */    unsigned int,		/* Static threads */    unsigned int,		/* Dynamic threads */    unsigned int,		/* Stack Size of server thread */    unsigned int,		/* Stack Size of SCM thread */    int,			/* Client Priority propogation */    int				/* Object Exporter Port Number */    );void dcomLibTerm (void);    /* * Public API Functions - these mimic the Win32 CoXxxx API calls, * specifically those related to marshaling and interface remoting. */HRESULT CoGetClassObject    (    REFCLSID		rclsid,		/* CLSID of class object */    DWORD		dwClsContext,	/* one of CLSCTX values */    COSERVERINFO*	pServerInfo,    /* must be NULL */    REFIID		riid,		/* IID of desired interface */    void**		ppv		/* output interface pointer */    );HRESULT CoCreateInstanceEx    (    REFCLSID            rclsid,         /* CLSID of the object */    IUnknown*           punkOuter,      /* ptr to aggregating object */    DWORD               dwClsCtx,       /* one of CLSCTX values */    COSERVERINFO*       pServerInfo,    /* machine to create object on */    ULONG               cmq,            /* number of MULTI_QI structures */    MULTI_QI*           pResults        /* array of MULTI_QI structures */    );HRESULT CoRegisterClassObject    (    REFCLSID            rclsid,         /* CLSID to be registered */    IUnknown*           pUnk,           /* pointer to the class object */    DWORD               dwClsContext,   /* context from CLSCTX_XXX enum */    DWORD               flags,          /* how to connect to the class object */    DWORD*              lpdwRegister    /* returned token */    );HRESULT CoRevokeClassObject    (    DWORD               dwRegister      /* token for class object */    );HRESULT CoGetStandardMarshal    (    REFIID		riid,		/* interface IID */    IUnknown*		pUnk,		/* interface-ptr to be marshaled */    DWORD		dwDestContext,  /* destination context */    void*		pvDestContext,  /* reserved for future use */    DWORD		mshlflags,      /* reason for marshaling */    IMarshal**		ppMshl		/* output ptr */    );HRESULT CoMarshalInterface    (    IStream*		pStm,		/* stream to marshal into */    REFIID		riid,		/* interface IID */    IUnknown*		pUnk,		/* interface-ptr to be marshaled */    DWORD		dwDestContext,  /* destination context */    void*		pvDestContext,  /* reserved for future use */    DWORD		mshlflags       /* reason for marshaling */    );HRESULT CoUnmarshalInterface    (    IStream*		pStm,		/* stream containing interface */    REFIID		riid,		/* IID of the interface */    void**		ppv		/* output variable to receive ptr */    );HRESULT CoGetMarshalSizeMax    (    ULONG*              pulSize,        /* ptr to the upper-bound value */    REFIID              riid,           /* IID of interface */    IUnknown*           pUnk,           /* interface-ptr to be marshaled */    DWORD               dwDestContext,  /* destination process */    LPVOID              pvDestContext,  /* reserved for future use */    DWORD               mshlflags       /* reason for marshaling */    ); HRESULT CoReleaseMarshalData    (    IStream*            pStrm           /* stream to release */    );HRESULT CoDisconnectObject    (    IUnknown*           pUnk,           /* object to be disconnected */    DWORD               dwReserved      /* reserved for future use - MBZ */    );HRESULT CoGetPSClsid    (    REFIID              riid,           /* IID to use */    LPCLSID             pClsid          /* resulting P/S CLSID */    );#define RPC_C_AUTHN_LEVEL_DEFAULT 0#define RPC_C_AUTHN_LEVEL_NONE 1#define RPC_C_AUTHN_LEVEL_CONNECT 2#define RPC_C_AUTHN_LEVEL_CALL 3#define RPC_C_AUTHN_LEVEL_PKT 4#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6#define RPC_C_AUTHN_NONE 0#define RPC_C_AUTHN_DCE_PRIVATE 1#define RPC_C_AUTHN_DCE_PUBLIC 2#define RPC_C_AUTHN_DEC_PUBLIC 4#define RPC_C_AUTHN_WINNT       10#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF#define RPC_C_IMP_LEVEL_DEFAULT      0#define RPC_C_IMP_LEVEL_ANONYMOUS    1#define RPC_C_IMP_LEVEL_IDENTIFY     2#define RPC_C_IMP_LEVEL_IMPERSONATE  3#define RPC_C_IMP_LEVEL_DELEGATE     4#define RPC_C_AUTHZ_NONE 0#define RPC_C_AUTHZ_NAME 1#define RPC_C_AUTHZ_DCE 2#define EOAC_NONE (0)/**************************************************************************** vxdcomUserAdd -- add a user+password to VxDCOM** This function adds a username, plus their password, to the VxDCOM* security service. This is used when an authentication level other * than the default is required, the only valid level being* RPC_C_AUTHN_LEVEL_CONNECT.** RETURNS: n/a*/void vxdcomUserAdd    (    const char* userName,    const char* userPassword    );/**************************************************************************** CoInitializeSecurity -- initialize the security service** This function initializes the VxDCOM security service (only* NTLMSSP is supported by VxDCOM). The parameter 'dwAuthnLevel' sets* both the default incoming authentication level and the default* outgoing authentication level, and must be one of the* RPC_C_AUTHN_LEVEL_xxx constants. Incoming calls with less than this* level will be failed, outgoing calls will be made (by default) with* this level. The parameter 'dwImpLevel' sets the default* impersonation level for outgoing calls, and must be one of the* RPC_C_IMP_LEVEL_xxx constants.** Calling CoCreateInstanceEx() with a non-NULL 'pServerInfo' parameter* will utilise the fields in the COSERVERINFO structure to determine* where the server is to be created. If the structure has a non-NULL* 'pAuthInfo' member, then the security settings in that structure* will override the default settings for the duration of that* activation request, and will be applied to the created proxy (if the* activation is successful). Valid settings for the COAUTHINFO* structure are described in its definition earlier in this file.** RETURNS: an HRESULT value*/HRESULT CoInitializeSecurity    (    void*		psd,		/* security descriptor - MBZ */    long		cAuths,		/* must be -1 */    void*		asAuths,	/* array of services - MBZ */    void*		pReserved1,	/* reserved - MBZ */    DWORD		dwAuthnLevel,	/* default authentication level  */    DWORD		dwImpLevel,	/* default impersonation level */    void*		pAuthList,	/* per-service info - MBZ */    DWORD		dwcapabilities,	/* capabilities - must be EOAC_NONE */    void*		pReserved3	/* reserved - MBZ */    );#ifdef __cplusplus}#endif#endif /* __INCdcomLib_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -