Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
1.6 KiB

class FAR CNDSGenObjectEnum : public CNDSEnumVariant
{
public:
CNDSGenObjectEnum(ObjectTypeList ObjList);
CNDSGenObjectEnum();
~CNDSGenObjectEnum();
HRESULT
EnumObjects(
ULONG cElements,
VARIANT FAR * pvar,
ULONG FAR * pcElementFetched
);
static
HRESULT
CNDSGenObjectEnum::Create(
CNDSGenObjectEnum FAR* FAR* ppenumvariant,
BSTR ADsPath,
VARIANT var,
CCredentials& Credentials
);
private:
ObjectTypeList FAR *_pObjList;
LPNDS_FILTER_LIST _pNdsFilterList;
NDS_CONTEXT_HANDLE _hADsContext;
PADSNDS_OBJECT_INFO _lpObjects;
DWORD _dwObjectReturned;
DWORD _dwObjectCurrentEntry;
BSTR _ADsPath;
LPWSTR _pszDn;
LPWSTR _pszTreeName;
NDS_BUFFER_HANDLE _hOperationData;
BOOL _bNoMore;
CCredentials _Credentials;
HRESULT
CNDSGenObjectEnum::GetGenObject(
IDispatch ** ppDispatch
);
HRESULT
EnumGenericObjects(
ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched
);
HRESULT
CNDSGenObjectEnum::EnumObjects(
DWORD ObjectType,
ULONG cElements,
VARIANT FAR * pvar,
ULONG FAR * pcElementFetched
);
STDMETHOD(Next)(
ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched
);
};
HRESULT
BuildNDSFilterArray(
VARIANT var,
LPBYTE * ppContigFilter
);
void
FreeFilterList(
LPBYTE lpContigFilter
);
LPBYTE
CreateAndAppendFilterEntry(
LPBYTE pContigFilter,
LPWSTR lpObjectClass
);