CreateCS Unicode C Reference Documentation

CreateCS

Factory class for creating certificate store objects.

This class is specific to the Windows operating system, and therefore is only available on Windows systems.

Create/Dispose

HCkCreateCSW CkCreateCSW_Create(void);

Creates an instance of the HCkCreateCSW object and returns a handle (i.e. a "void *" pointer). The handle is passed in the 1st argument for the functions listed on this page.

void CkCreateCSW_Dispose(HCkCreateCSW handle);

Objects created by calling CkCreateCSW_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function. Also, any handle returned by a Chilkat "C" function must also be freed by the application by calling the appropriate Dispose method, such as CkCreateCSW_Dispose.

Properties

void CkCreateCSW_getDebugLogFilePath(HCkCreateCSW cHandle, HCkString retval);

void CkCreateCSW_putDebugLogFilePath(HCkCreateCSW cHandle, const wchar_t *newVal);

const wchar_t *CkCreateCSW_debugLogFilePath(HCkCreateCSW cHandle);

If set to a file path, causes each Chilkat method or property call to automatically append it's LastErrorText to the specified log file. The information is appended such that if a hang or crash occurs, it is possible to see the context in which the problem occurred, as well as a history of all Chilkat calls up to the point of the problem. The VerboseLogging property can be set to provide more detailed information.

This property is typically used for debugging the rare cases where a Chilkat method call hangs or generates an exception that halts program execution (i.e. crashes). A hang or crash should generally never happen. The typical causes of a hang are:

  1. a timeout related property was set to 0 to explicitly indicate that an infinite timeout is desired,
  2. the hang is actually a hang within an event callback (i.e. it is a hang within the application code), or
  3. there is an internal problem (bug) in the Chilkat code that causes the hang.

void CkCreateCSW_getLastErrorHtml(HCkCreateCSW cHandle, HCkString retval);

const wchar_t *CkCreateCSW_lastErrorHtml(HCkCreateCSW cHandle);

Provides information in HTML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

void CkCreateCSW_getLastErrorText(HCkCreateCSW cHandle, HCkString retval);

const wchar_t *CkCreateCSW_lastErrorText(HCkCreateCSW cHandle);

Provides information in plain-text format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

void CkCreateCSW_getLastErrorXml(HCkCreateCSW cHandle, HCkString retval);

const wchar_t *CkCreateCSW_lastErrorXml(HCkCreateCSW cHandle);

Provides information in XML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

BOOL CkCreateCSW_getLastMethodSuccess(HCkCreateCSW cHandle);

void CkCreateCSW_putLastMethodSuccess(HCkCreateCSW cHandle, BOOL newVal);

Introduced in version 9.5.0.52

Indicate whether the last method call succeeded or failed. A value of TRUE indicates success, a value of FALSE indicates failure. This property is automatically set for method calls. It is not modified by property accesses. The property is automatically set to indicate success for the following types of method calls:

  • Any method that returns a string.
  • Any method returning a Chilkat object, binary bytes, or a date/time.
  • Any method returning a standard boolean status value where success = TRUE and failure = FALSE.
  • Any method returning an integer where failure is defined by a return value less than zero.

Note: Methods that do not fit the above requirements will always set this property equal to TRUE. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

BOOL CkCreateCSW_getReadOnly(HCkCreateCSW cHandle);

void CkCreateCSW_putReadOnly(HCkCreateCSW cHandle, BOOL newVal);

Determines whether certificate stores are opened with read-only or read/write permissions. Only applies to methods such as OpenCurrentUserStore, where the a readOnly parameter is not present.

BOOL CkCreateCSW_getVerboseLogging(HCkCreateCSW cHandle);

void CkCreateCSW_putVerboseLogging(HCkCreateCSW cHandle, BOOL newVal);

If set to TRUE, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is FALSE. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

void CkCreateCSW_getVersion(HCkCreateCSW cHandle, HCkString retval);

const wchar_t *CkCreateCSW_version(HCkCreateCSW cHandle);

Version of the component/library, such as "9.4.1.42"

Methods

HCkCertStoreW CkCreateCSW_CreateFileStore(HCkCreateCSW cHandle, const wchar_t *path);

Creates a file-based certificate store. If 'filename' already exists, the method will fail.

HCkCertStoreW CkCreateCSW_CreateMemoryStore(HCkCreateCSW cHandle);

Creates a temporary certificate store in memory that is initially empty.

HCkCertStoreW CkCreateCSW_CreateRegistryStore(HCkCreateCSW cHandle, const wchar_t *regRoot, const wchar_t *regPath);

Creates a registry-based certificate store. The 'hiveName' can either be "CurrentUser" or "LocalMachine". The 'regPath' argument should be specified without a leading slash, such as "Software/Chilkat/MyCertStore".

HCkCertStoreW CkCreateCSW_OpenChilkatStore(HCkCreateCSW cHandle);

Opens the certificate store used by Chilkat Mail and returns the object representing that store.

HCkCertStoreW CkCreateCSW_OpenCurrentUserStore(HCkCreateCSW cHandle);

Opens the local system's Current User Certificate Store and returns the object representing that store.

HCkCertStoreW CkCreateCSW_OpenFileStore(HCkCreateCSW cHandle, const wchar_t *path);

Opens an existing file certificate store. To open it read-only, readOnly should be non-zero.

HCkCertStoreW CkCreateCSW_OpenLocalSystemStore(HCkCreateCSW cHandle);

Opens the local system's Local Machine Certificate Store and returns the object representing that store.

HCkCertStoreW CkCreateCSW_OpenOutlookStore(HCkCreateCSW cHandle);

Opens the certificate store used by Microsoft Outlook (and Office) and returns the object representing that store.

HCkCertStoreW CkCreateCSW_OpenRegistryStore(HCkCreateCSW cHandle, const wchar_t *regRoot, const wchar_t *regPath);

Opens an existing registry-based certificate store. 'hiveName' should be either "CurrentUser" or "LocalMachine". The 'regPath' argument should be specified without a leading slash, such as "Software/Chilkat/MyCertStore".

BOOL CkCreateCSW_SaveLastError(HCkCreateCSW cHandle, const wchar_t *path);

Saves the last-error information (the contents of LastErrorXml) to an XML formatted file.

Returns TRUE for success, FALSE for failure.