//--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1997 // // File: pathprov.odl // // Contents: ADSPathname Interface // //---------------------------------------------------------------------------- #define MAXCOMPONENTS 64 typedef struct _path_component { LPTSTR szComponent; LPTSTR szValue; } PATH_COMPONENT, *PPATH_COMPONENT; typedef struct _path_objectinfo { LPTSTR ProviderName; LPTSTR ServerName; LPTSTR DisplayServerName; DWORD dwPathType; DWORD NumComponents; PATH_COMPONENT ComponentArray[MAXCOMPONENTS]; PATH_COMPONENT DisplayComponentArray[MAXCOMPONENTS]; PATH_COMPONENT ProvSpecComponentArray[MAXCOMPONENTS]; } PATH_OBJECTINFO, *PPATH_OBJECTINFO; enum { ADS_PARSE_FULL=1, ADS_PARSE_DN=2, ADS_PARSE_COMPONENT=3 }; enum { ADS_PATHTYPE_ROOTFIRST=1, ADS_PATHTYPE_LEAFFIRST=2 }; enum { ADS_CONSTRUCT_NAMINGATTRIBUTE=1 }; [ uuid(OLEDS_IID_IADsPathnameProvider)] interface IADsPathnameProvider : IUnknown { HRESULT ParsePath( [in] BSTR bstrPath, [in] DWORD dwType, [in] PPATH_OBJECTINFO pObjectInfo ); HRESULT ConstructPath( [in] PPATH_OBJECTINFO pObjectInfo, [in] DWORD dwType, [in] DWORD dwFlag, [in] DWORD dwEscapedMode, [out] BSTR *pbstrPath ); HRESULT GetEscapedElement( [in] LONG lnReserved, [in] BSTR bstrInStr, [out] BSTR* pbstrOutStr ); }