Licserve: Licensed DLL Server

Click to open or copy the Licserve project files.

Click to open or copy the Include files (required).

Click to open or copy the Library files (required).

Note   To use this sample, you must first build the Register sample.

The Licserve sample introduces licensed components. Licserve modifies the COCruiseCar component of the DLLserve code sample and houses it as a licensed LicCruiseCar component in the Licserve.dll COM server. This in-process server provides the components LicCruiseCar and LicCarSample. LicCarSample is the utility component that allows clients access to this server's logged behavior.

Licserve provides class factories for each of these components. The class factory for the LicCruiseCar component implements IClassFactory2, instead of the usual IClassFactory, to provide the licensing mechanism for this component. The LicCarSample component is not licensed and thus implements IClassFactory.

Licserve works with the Licclien code sample to illustrate Licserve's COM server facilities for creating licensed components and supporting the subsequent manipulation of those components by the Licclien.exe client.

See the parent topic, COM Tutorial Samples, to download global tutorial files or any HTML files about this sample.

Building SDK Samples

This sample uses the following keywords:

aboutbox; addref; adjust; cfliccarsample; cfliccruisecar; checklicense; cimpiclassfactory; cimpicruise; cimpisample; closehandle; cocreateinstance; coliccarsample; coliccruisecar; create; createfile; createinstance; createinstancelic; createliccruisecar; cserver; defined; delete_pointer; dllcanunloadnow; dllgetclassobject; dllmain; dllregisterserver; dllunregisterserver; engage; failed; getlasterror; getlicinfo; getmodulefilename; getusername; interlockeddecrement; interlockedincrement; lock; lockserver; log; logf1; logf2; lstrcat; lstrcpy; lstrcpya; lstrlen; lstrlena; makefamilypath; makeintresource; mbstowcs; memcmp; objectsdown; objectsup; queryinterface; readfile; regclosekey; regcreatekeyex; regdeletekey; regsetvalueex; release; release_interface; requestlickey; setregkeyvalue; showdialog; stdentry_; stdmethodimp_; stringfromguid2; succeeded; sysallocstring; sysfreestring; text; unicodeok; unlock; wsprintf