vbAccelerator - Contents of code file: Source_TypeLib_IExPerPropertyBrowsing.odl

////////////////////////////////////////////////////////////
// Name : IExPerPropertyBrowsing.odl
// Author : Paul R. Wilde
// Created : 17th November 1998
/////////////////////////////////////////////////////////////
// Copyright  Paul R. Wilde 1998. All Rights Reserved.
/////////////////////////////////////////////////////////////
// Bug reports, suggestions & comments should be emailed to :
// prw.exponential@dial.pipex.com
/////////////////////////////////////////////////////////////

typedef struct CALPOLESTR {
   ULONG cElems;
        //LPOLESTR * pElems;
   DWORD pElems;
} CALPOLESTR;
typedef CALPOLESTR * LPCALPOLESTR;

typedef struct CADWORD {
   ULONG cElems;
        //DWORD * pElems;
   DWORD pElems;
} CADWORD;
typedef CADWORD * LPCADWORD;
   
[
   uuid(376BD3AA-3845-101B-84ED-08002B2EC713),
//    dual, 
//    oleautomation, 
//    dispatchable, 
    helpstring("IPerPropertyBrowsing interface"),
   odl
]
interface IExPerPropertyBrowsing : IDispatch
{
   [helpstring("Get the display string for the property")]
   HRESULT GetDisplayString(
      [in] DISPID DispID, 
      [out] BSTR * DisplayName);

   [helpstring("MapPropertyToPage")]
   HRESULT MapPropertyToPage(
      [in] DISPID DispID, 
      [out] CLSID * pClsID);

   [helpstring("Get the predefined strings for the property")]
   HRESULT GetPredefinedStrings(
      [in] DISPID DispID, 
                [out] CALPOLESTR * pCaStringsOut,
                [out] CADWORD * pCaCookiesOut);
      
   [helpstring("Get the predefined value for the property")]
   HRESULT GetPredefinedValue(
      [in] DISPID DispID, 
      [in] DWORD dwCookie, 
      [out] VARIANT * pVarOut);
}