Click to open or copy the files for the SampProv sample.
This sample is a demonstration of an Active Directory Service provider.
Main Files
File | Description |
CDispMgr.c | Dispatch Manager implementation. |
CEnumNS.c | Sample Provider Namespace Enumerator Code. |
CEnumObj.c | Generic Object Enumeration CodeStandard IClassFactory implementation. |
CEnumSch.cpp | Sample Provider Enum Schema functionality. |
CEnumVar.cpp | Base Implementation for xxxEnumVariant derived classes. |
CGenObj.cpp | Microsoft ADs DS Provider Generic Object. |
CNamCF.h | Class factory for standard Namespace object. |
CNameSp.cpp | Sample Namespace Object. |
Common.cpp | Contains routines and properties that are common to all tshirt objects. Tshirt objects get the routines and properties through C++ inheritance. |
Common.h | Contains Sample Provider routines and properties that are common to all objects. Objects get the routines and properties through C++ inheritance. |
Core.cpp | CCoreADsObject Implementation. |
Core.h | Core ADS Obect. |
CProps.cpp | Property Cache functionality. |
CProps.h | Property Cache Object. |
CProv.cpp | ADsSampleDS Provider Object. |
CProv.h | Provides Moniker support for OLE DS GetObject. |
CProvCF.cpp | ADs Provider Object Class Factory Code. |
CProvCf.h | Class Factory for Provider Object. |
CPrpObj.h | Sample Provider GetObject functionality. |
Formtrck.hxx | This file defines facilities for a standard implementation of reference-counted objects, incorporating mechanisms for tracking the usage history of the objects. |
GetObj.cpp | Sample Provider GetObject functionality. |
Guid.cpp | Sample CLSIDS. |
Guid.h | Extern references for Sample Guids. |
IntF.cpp | Interface for ADS. |
LibMain.cpp | LibMain for ADsSmp.dll. |
Memory.cpp | This module provides all the memory management functions for all Sample Provider components. |
Object.cpp | ObjectTypeList class. |
Parse.cpp | DS Pathname Parser. The Pathname Parser is a key component in ADs providers. It checks for syntactic validity of an ADs pathname that has been passed to this provider. If the syntax is valid, then an OBJECTINFO structure is constructed. |
RegDSAPI.cpp | Sample Provider Registry DS APIs. |
SmpOper.cpp | SampleDS DataType Operation routines. |
SmpTypes.h | Definitions for Sample DS Data Types and structures used by the SampleDS Regsitry APIs to exchange data. |
StdFact.cpp | Standard IClassFactory implementation. |
Util.h | Utilities. |
This sample uses the following keywords:
_adsclass; _adsguid; _adspath; _assert; _bstradspath; _bstrname; _bstrsampledstreename; _bstrsyntax; _buffer; _cb; _dwendofstring; _dwlasttoken; _dwlasttokenlength; _dwmaxproperties; _dwnumberofmandatoryattributes; _dwobjectstate; _lpclassname; _lpmandatoryattributes; _name; _parent; _pcoreadsobject; _pdispmgr; _pobjlist; _pproperties; _ptr; _schema; _ulrefs; _wcsicmp; addcomponent; addproperty; addprovidername; addref; addrootrdn; addtypeinfo; adsassert; adsdecrement; adsincrement; adsobject; allocateclassobject; allocategenobject; allocatenamespaceobject; allocatepropertyobject; allocateschema; allocprovmem; allocprovstr; appendcomponent; array_size; bail_if_error; bail_on_failure; bail_on_success; buildadsguid; buildadsparentpath; buildadspath; buildadspathfromdspath; builddefaultobjectarray; builddsfilterarray; builddsparentpathfromdspath; builddspathfromadspath; builddspathfromdsparentpath; builddstreenamefromadspath; buildobjectarray; buildsampledsrootrdnfromadspath; buildschemapath; ccoreadsobject; cdispatchmgr; cdynamiccf; checkandreturnresult; checkresult; clexer; clone; cls; cocreateinstance; component; containing_record; continue_on_failure; convertsafearraytovariantarray; copyhere; copysampleds1tosampledssynid1; copysampleds2tosampledssynid2; copysampledssynid1tosampleds1; copysampledssynid2tosampleds2; copysampledssynidtosampleds; copysampledstosampledssynid; cpropertycache; create; createandappendfilterentry; createclass; creategenericobject; createinstance; createnamespace; createobjecttypelist; createpointermoniker; createproperty; createpropertycache; createpropertyentry; createpropertylist; createschema; createtokenlist; csampledsclass; csampledsenumvariant; csampledsgenobject; csampledsgenobjectenum; csampledsnamespace; csampledsnamespaceenum; csampledsproperty; csampledsprovider; csampledsschema; csampledsschemaenum; debugbreak; dec_object_count; declare_ads_compound_iunknown; declare_ads_delegating_iunknown; declare_ads_private_iunknown; declare_ads_standard_iunknown; declare_ads_subobject_iunknown; define_contained_iads_implementation; define_guid; define_iads_implementation; define_idispatch_implementation; define_idispatch_implementation_unimplemented; delete; detach; dispgetidsofnames; dispinvoke; dllcanunloadnow; dllgetclassobject; dllmain; dspathname; dump_tracking_info; dump_tracking_info_delete; dump_tracking_info_keep; dumptrackinginfo; dword_align_up; enlist_tracking; enumclasses; enumgenericobjects; enumobjects; enumproperties; failed; fetchnextobject; fetchobjects; findproperty; findtypeinfo; findtypeinfoentry; freefilterlist; freelist; freepropertyentry; freeprovmem; freeprovstr; generate_newids; gentypeinfoid; get; get__newenum; get_abstract; get_adspath; get_auxderivedfrom; get_auxiliary; get_bstr_property; get_class; get_clsid; get_container; get_containment; get_coreadsclass; get_coreadspath; get_coreguid; get_corename; get_coreparent; get_coreschema; get_count; get_date_property; get_derivedfrom; get_filter; get_guid; get_helpfilecontext; get_helpfilename; get_hints; get_long_property; get_mandatoryproperties; get_maxrange; get_minrange; get_multivalued; get_name; get_namingproperties; get_object_count; get_oid; get_optionalproperties; get_parent; get_possiblesuperiors; get_primaryinterface; get_schema; get_syntax; get_variant_bool_property; get_variant_property; getclassobject; getcurrentobject; getdispid; getex; getgenobject; getidsofnames; getinfo; getinfoex; getinterfaceptr; getlasterror; getnamespaceobject; getnexttoken; getobject; getobjectstate; getproperty; getpropertyobject; getschemaobject; gettypeinfo; gettypeinfocount; gettypeinfoid; gettypeinfoofguid; hresult_from_win32; implement_ads_compound_iunknown; implement_ads_private_iunknown; implement_ads_subobject_iunknown; inc_object_count; initializecoreobject; instantiatederivedobject; interlockeddecrement; interlockedincrement; invoke; isclasstracking; iscompatibleoleversion; isequalclsid; isequaliid; iskeyword; isvaliddsfilter; isvalidfilter; lexer; libmain; loadregtypelib; loadtypeinfo; loadtypeinfoentry; localalloc; localfree; lpregds_enum; makeuncname; makevariantfromproplist; mapsyntaxidtoadssyntax; mapsyntaxidtosampledssyntax; markasnewenum; marshallproperty; marshallsampledssynidtosampleds; memcpy; memset; min; movehere; my##cls; my##parent_cls; next; nextchar; nexttoken; no_copy; notok; objecttracker; objecttypelist; ok; olebuildversion; packdateinvariant; packlonginvariant; packstringinvariant; packvariant_boolinvariant; packvariantinvariant; parsedisplayname; passivate; pathname; prepbuffer; printhresult; printiid; privateunknown; property_flags; property_name; property_numvalues; property_sampledsobject; property_syntax; property_values; provallocstring; provfreestring; providername; pushbackchar; pushbacktoken; put; put_abstract; put_auxderivedfrom; put_auxiliary; put_bstr_property; put_clsid; put_container; put_containment; put_date_property; put_derivedfrom; put_filter; put_helpfilecontext; put_helpfilename; put_hints; put_long_property; put_mandatoryproperties; put_maxrange; put_minrange; put_multivalued; put_namingproperties; put_oid; put_optionalproperties; put_possiblesuperiors; put_syntax; put_variant_bool_property; put_variant_property; putex; putproperty; qualifiers; query_interface; queryinterface; reallocprovmem; reallocprovstr; regclosekey; regcreatekey; regdeleteallkeys; regdeletekey; regenumkey; regenumkeyex; regenumvalue; regopenkey; regopenkeyex; regqueryinfokey; regqueryvalueex; regsetvalueex; relativegetobject; release; reset; resolvepathname; resultfromscode; rreturn; rreturn1; rreturn2; rreturn3; rreturn_enum_status; safearraycreate; safearraydestroy; safearraygetelement; safearraygetlbound; safearraygetubound; safearrayputelement; sampledsaddobject; sampledscloseobject; sampledscreatebuffer; sampledscreateobject; sampledsfreebuffer; sampledsfreeclassdefinition; sampledsfreeenum; sampledsfreepropertydefinition; sampledsgetclassdefinition; sampledsgetclassinfo; sampledsgetpropertydefinition; sampledsgetpropertyinfo; sampledsgettype; sampledsgettypetext; sampledsmarshallproperties; sampledsmodifyobject; sampledsnextrdn; sampledsobject; sampledsopenobject; sampledsrdnenum; sampledsreadobject; sampledsremoveobject; sampledssetobject; sampledstypeclear; sampledstypecopy; sampledstypecopyconstruct; sampledstypecopysampledssynid1; sampledstypecopysampledssynid2; sampledstypefreesampledsobjects; sampledstypefreesampledssynid1; sampledstypefreesampledssynid2; sampledstypetovartypecopy; sampledstypetovartypecopyconstruct; sampledstypetovartypecopysampledssynid1; sampledstypetovartypecopysampledssynid2; sampledsunmarshallproperties; schemacomponent; schemapathname; setinfo; setlasterror; setobjectstate; settype; skip; sreturn; stdaddref; stdapi_; stdclassfactory; stdmethod; stdmethod_; stdmethodimp_; stdrelease; stringfromguid2; subaddref; subrelease; succeeded; switch; sysallocstring; sysfreestring; text; tracehresult; traceiid; track_class; trackclass; trackclassname; treturn; type; typeinfoinvoke; unboundgetproperty; unmarshallproperty; unmarshallsampledstosampledssynid; unpackdatefromvariant; unpacklongfromvariant; unpackstringfromvariant; unpackvariant_boolfromvariant; unpackvariantfromvariant; updateproperty; validate_ptr; validatenamespaceobject; validateobjecttype; validateoutparameter; validateprovider; validateschemaobject; variantclear; variantcopy; variantinit; vartypefreevarobjects; vartypetosampledstypecopy; vartypetosampledstypecopyconstruct; vartypetosampledstypecopysampledssynid1; vartypetosampledstypecopysampledssynid2; warn_error; watchinterface; wcscat; wcschr; wcscmp; wcscpy; wcslen; word_align_down; wsprintf; xx_put_bstr; xx_put_date; xx_put_long; xx_put_variant; xx_put_variant_bool