OPCCOMN.IDL

OPC技术论坛 http://www.opc-china.com OPC服务器,客户程序技术讨论

// REVISION:  04/06/98 08:00 PM (EST)
// VERSIONINFO 1.0.0.0
//
// 04/09/98 acc import unknwn.idl rather than oaidl.idl
// 06/15/98 acc add 'library' object at end to allow typelib generation
// 06/19/98 acc change V2 uuids prior to final release
//              to avoid conflict with 'old' OPCDA Automation uuids
// 09/18/98 acc add OPCServerList IDL (with help from Gary Klassen)
//
    
import "unknwn.idl";
import "comcat.idl";


//****************************************************
// All servers except OPCDA1.0 have the ability to
// make callbacks into the client on shutdown via
// IOPCShutdown
//****************************************************
[
  object,
  uuid(F31DFDE1-07B6-11d2-B2D8-0060083BA1FB),
  pointer_default(unique)
]
interface IOPCShutdown : IUnknown
{
  HRESULT ShutdownRequest (
    [in, string] LPCWSTR szReason
    );
}

//****************************************************
// All servers except OPCDA1.0 support IOPCCommon
//****************************************************
[
  object,
  uuid(F31DFDE2-07B6-11d2-B2D8-0060083BA1FB),
  pointer_default(unique)
]
interface IOPCCommon : IUnknown
{

  HRESULT SetLocaleID (
    [in] LCID dwLcid
    );

  HRESULT GetLocaleID (
    [out] LCID *pdwLcid
    );

  HRESULT QueryAvailableLocaleIDs (
    [out] DWORD *pdwCount,
    [out, size_is(,*pdwCount)] LCID **pdwLcid
    );

  HRESULT GetErrorString(
    [in] HRESULT dwError,
    [out, string] LPWSTR *ppString
    );

  HRESULT SetClientName (
    [in, string] LPCWSTR szName
    );

}


//****************************************************
// The OPCEnum.EXE object provided by the OPC Foundation
// supports the IOPCServerList interface via DCOM
// to allow clients to determine available OPC servers
// on remote machines
//****************************************************

[
 object,
 uuid(13486D50-4821-11D2-A494-3CB306C10000),
 pointer_default(unique)
]
interface IOPCServerList : IUnknown
{
 HRESULT EnumClassesOfCategories(
  [in] ULONG cImplemented,
  [in,size_is(cImplemented)] CATID rgcatidImpl[],
  [in] ULONG cRequired,
  [in,size_is(cRequired)] CATID rgcatidReq[],
  [out] IEnumGUID** ppenumClsid);

 HRESULT GetClassDetails(
  [in] REFCLSID clsid,
  [out] LPOLESTR* ppszProgID,
  [out] LPOLESTR* ppszUserType);

 HRESULT CLSIDFromProgID(
  [in] LPCOLESTR szProgId,
  [out] LPCLSID clsid);
};

 

//****************************************************
// This TYPELIB is generated as a convenience to users of high level tools
// which are capable of using or browsing TYPELIBs.
// 'Smart Pointers' in VC5 is one example.
//****************************************************
[
    uuid(B28EEDB1-AC6F-11d1-84D5-00608CB8A7E9),
    version(1.0),
    helpstring("OPCCOMN 1.0 Type Library")
]
library OPCCOMN
{
    importlib("stdole32.tlb");
    importlib("stdole2.tlb");

    interface IOPCCommon;
    interface IOPCShutdown;
 interface IOpcServerList;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值