WindowsXP-SP1/ds/adsi/types/pathprov.odl

72 lines
1.7 KiB
Plaintext

//---------------------------------------------------------------------------
//
// 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
);
}