// SystemCPU.idl : IDL source for SystemCPU.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (SystemCPU.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(B2EB919C-C48E-11D2-8C6A-000000000000),
dual,
helpstring("ICPUInformation Interface"),
pointer_default(unique)
]
interface ICPUInformation : IDispatch
{
[propget, id(1), helpstring("property NumberOfProcessors")] HRESULT NumberOfProcessors([out, retval] long *pVal);
[propget, id(2), helpstring("property CPUSpeed")] HRESULT CPUSpeed([out, retval] long *pVal);
[propget, id(3), helpstring("property PageSize")] HRESULT PageSize([out, retval] long *pVal);
[propget, id(4), helpstring("property ActiveProcessorMask")] HRESULT ActiveProcessorMask([out, retval] long *pVal);
[propget, id(5), helpstring("property Vendor")] HRESULT Vendor([out, retval] BSTR *pVal);
[propget, id(6), helpstring("property ProcessorType")] HRESULT ProcessorType([out, retval] BSTR *pVal);
[propget, id(7), helpstring("property Architecture")] HRESULT Architecture([out, retval] BSTR *pVal);
[propget, id(8), helpstring("property CPULevel")] HRESULT CPULevel([out, retval] BSTR *pVal);
[propget, id(9), helpstring("property CPURevision")] HRESULT CPURevision([out, retval] BSTR *pVal);
[id(10), helpstring("method GetCPUInformation")] HRESULT GetCPUInformation(BSTR *pbstrVendor, BSTR *pbstrType, BSTR *pbstrArchitecture, BSTR *pbstrLevel, BSTR *pbstrRevision, long *plNumberOfProcessors, long *plSpeed, long *plPageSize, long *plMask);
};
[
uuid(B2EB9190-C48E-11D2-8C6A-000000000000),
version(1.0),
helpstring("SystemCPU 1.0 Type Library")
]
library SYSTEMCPULib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(B2EB919E-C48E-11D2-8C6A-000000000000),
helpstring("CPUInformation Class")
]
coclass CPUInformation
{
[default] interface ICPUInformation;
};
};