Main Page

SynSoft D Libraries Documentation

1.2

Introduction

This is the documentation for the SynSoft D libraries. SynSoft D (http://SynSoft D.org/) is a non-commercial, open-source imprint of Synesis Software whose purpose is to make various libraries (in D, Java, .NET, Perl and Python) available to the development community.

The SynSoft D Libraries libraries are categorised based on the particular technologies or operating-systems that are being targeted.

Libraries

The SynSoft D libraries comprise the following :

  • text - platform-independent text manipulation library
  • win32.perf - Win32 performance library
  • win32.reg - Win32 registry library
  • win32.synch - Win32 synchronisation library
Other projects are planned - see http://synsoft.org/d.html for the latest

Installation

The SynSoft D libraries are supplied in the following forms:

  • Win32 static library, release: synsoft.D.lib
  • Win32 static library, debug: synsoft.D.debug.lib

Frequently Asked Questions

A FAQ is not included within this help bundle. However, you can get help by email, or, even better, by visiting the D newsgroup at Digital Mars.

Acknowledgements

Thanks are due to the following:

  • Greg Peet (gregpeet.com)
  • Jan Knepper of Digital Mars
  • Walter Bright of Digital Mars
  • ... and all the happy crew at the D newsgroup
Best regards, and good coding

Matthew Wilson

Director, Synesis Software | (http://www.synesis.com.au)
STLSoft moderator and C++ monomaniac | (http://www.stlsoft.org/)
Contributing editor, C/C++ Users Journal | (http://www.synesis.com.au/articles.html#columns)
Dabbler in D | (http://www.synsoft.org/d.html)
D Libraries documentation © Synesis Software Pty Ltd, 2002-2003


File Index

SynSoft D Libraries File List

Here is a list of all documented files with brief descriptions:
error_codes.d | This file contains Win32 error codes
exception.d | This file contains Win32 exception class(es)
perf.d | This file contains Win32 performance classes
reg.d | This file contains the synsoft.win32.reg.* classes
synch.d | This file contains Win32 synchronisation classes
token.d | This file contains string tokenisation classes and functions
types.d | This file contains types
win32/types.d | This file contains Win32 types


error_codes.d File Reference

Detailed Description

This file contains Win32 error codes.

Namespaces

namespace synsoft::win32::error_codes


exception.d File Reference

Detailed Description

This file contains Win32 exception class(es).

Namespaces

namespace synsoft::win32::exception


perf.d File Reference

Detailed Description

This file contains Win32 performance classes.

Namespaces

namespace synsoft::win32::perf


reg.d File Reference

Detailed Description

This file contains the synsoft.win32.reg.* classes.

Namespaces

namespace synsoft::win32::reg


synch.d File Reference

Detailed Description

This file contains Win32 synchronisation classes.

Namespaces

namespace synsoft::win32::synch


token.d File Reference

Detailed Description

This file contains string tokenisation classes and functions.

Namespaces

namespace synsoft::text::token


types.d File Reference

Detailed Description

This file contains types.

Namespaces

namespace synsoft::types


win32/types.d File Reference

types.d File Reference

Detailed Description

This file contains Win32 types.

Namespaces

namespace synsoft::win32::types


Annotated Index

SynSoft D Libraries Compound List

Here are the classes, structs, unions and interfaces with brief descriptions:
FILETIME | A 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC)
HighPerformanceCounter | A performance counter that uses the high performance hardware counter on the host machine
Key | This class represents a registry key
KeySequence | An enumerable sequence representing the sub-keys of a registry Key
PerformanceCounter | A performance counter that uses the most accurate measurement APIs available on the host machine
PerformanceCounterScope< T > | Performance counter scope class generating template
ProcessTimesCounter | A performance counter that provides process-specific performance timings
Registry | Represents the local system registry
RegistryException | Exception class thrown by the synsoft.win32.reg classes
Scope | Performance counter scoping class
SECURITY_ATTRIBUTES | Contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable
Semaphore | This class represents a Win32 semaphore synchronisation object
SynchException | This class is thrown by synchronisation classes in response to serious failures
ThreadTimesCounter | A performance counter that provides thread-specific performance timings
TickCounter | A low-cost, low-resolution performance counter
Value | This class represents a value of a registry key
ValueSequence | An enumerable sequence representing the values of a registry Key
Win32Exception | This class is thrown by synsoft.win32.* classes


FILETIME Struct Reference
[synsoft.win32.types]

List of all members.

Detailed Description

A 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC).

Public Attributes

DWORD dwLowDateTime
Specifies the low-order 32 bits of the file time.

DWORD dwHighDateTime
Specifies the high-order 32 bits of the file time.

Member Data Documentation

DWORD dwHighDateTime

Specifies the high-order 32 bits of the file time.

DWORD dwLowDateTime

Specifies the low-order 32 bits of the file time.

The documentation for this struct was generated from the following file:
  • win32/types.d


HighPerformanceCounter Class Reference
[synsoft.win32.perf]

List of all members.

Detailed Description

A performance counter that uses the high performance hardware counter on the host machine.

This class provides high-resolution performance monitoring using the host machine's high performance hardware counter. This class does not provide meaningful timing information on operating systems that do not provide a high performance hardware counter.

Public Types

typedef long | interval_type
The interval type.

typedef typedef PerformanceCounterScope<
HighPerformanceCounter
> Scope 		scope_type
The scope type.

Public Methods

void | Start ()
Starts measurement.

void | Stop ()
Ends measurement.

interval_type propget_PeriodCount ()
The elapsed count in the measurement period.

interval_type propget_Seconds ()
The number of whole seconds in the measurement period.

interval_type propget_Milliseconds ()
The number of whole milliseconds in the measurement period.

interval_type propget_Microseconds ()
The number of whole microseconds in the measurement period.

Member Typedef Documentation

typedef long interval_type

The interval type.

The type of the interval measurement, a 64-bit signed integer

typedef typedef PerformanceCounterScope<HighPerformanceCounter> Scope scope_type

The scope type.

The type with which instances of the counter class can be subject to the RAII protocol in order to scope particular measurement intervals

Member Function Documentation

interval_type propget_Microseconds ( ) [inline]

The number of whole microseconds in the measurement period.

This represents the extent, in whole microseconds, of the measurement period

interval_type propget_Milliseconds ( ) [inline]

The number of whole milliseconds in the measurement period.

This represents the extent, in whole milliseconds, of the measurement period

interval_type propget_PeriodCount ( ) [inline]

The elapsed count in the measurement period.

This represents the extent, in machine-specific increments, of the measurement period

interval_type propget_Seconds ( ) [inline]

The number of whole seconds in the measurement period.

This represents the extent, in whole seconds, of the measurement period

void Start ( ) [inline]

Starts measurement.

Begins the measurement period

void Stop ( ) [inline]

Ends measurement.

Ends the measurement period

The documentation for this class was generated from the following file:
  • perf.d


Key Class Reference
[synsoft.win32.reg]

List of all members.

Detailed Description

This class represents a registry key.

Public Methods

char[] | propget_Name ()
Returns the name of the key.

KeySequence propget_SubKeys ()
Returns an enumerable sequence of all the sub-keys of this key.

ValueSequence propget_Values ()
Returns an enumerable sequence of all the values of this key.

Key | propget_SubKey (char[] name)
Returns the named sub-key of this key.

Value | propget_Value (char[] name)
Returns the named value.

Member Function Documentation

char [] propget_Name ( ) [inline]

Returns the name of the key.

Key propget_SubKey ( char name[] ) [inline]

Returns the named sub-key of this key.

Note:
If name is null (or the empty-string), then the called key is duplicated

KeySequence propget_SubKeys ( ) [inline]

Returns an enumerable sequence of all the sub-keys of this key.

Value propget_Value ( char name[] ) [inline]

Returns the named value.

Note:
if name is null (or the empty-string), then the default value is returned
Returns:
This function never returns null. If a value

ValueSequence propget_Values ( ) [inline]

Returns an enumerable sequence of all the values of this key.

The documentation for this class was generated from the following file:
  • reg.d


KeySequence Class Reference
[synsoft.win32.reg]

List of all members.

Detailed Description

An enumerable sequence representing the sub-keys of a registry Key.

It would be used as follows:

  Key key = . . .

  foreach(Key k; key.propget_SubKeys())
  {
    process_Key(k);
  }

The documentation for this class was generated from the following file:
  • reg.d


PerformanceCounter Class Reference
[synsoft.win32.perf]

List of all members.

Detailed Description

A performance counter that uses the most accurate measurement APIs available on the host machine.

This class attempts to use the high performance hardware counter as its measurement resource, but failing that it defaults to less accurate resources in order to guarantee that meaningful measurements are always available to application code

Public Types

typedef long | interval_type
The interval type.

typedef typedef PerformanceCounterScope<
PerformanceCounter > Scope 		scope_type
The scope type.

Public Methods

void | Start ()
Starts measurement.

void | Stop ()
Ends measurement.

interval_type propget_PeriodCount ()
The elapsed count in the measurement period.

interval_type propget_Seconds ()
The number of whole seconds in the measurement period.

interval_type propget_Milliseconds ()
The number of whole milliseconds in the measurement period.

interval_type propget_Microseconds ()
The number of whole microseconds in the measurement period.

Member Typedef Documentation

typedef long interval_type

The interval type.

The type of the interval measurement, a 64-bit signed integer

typedef typedef PerformanceCounterScope<PerformanceCounter> Scope scope_type

The scope type.

The type with which instances of the counter class can be subject to the RAII protocol in order to scope particular measurement intervals

Member Function Documentation

interval_type propget_Microseconds ( ) [inline]

The number of whole microseconds in the measurement period.

This represents the extent, in whole microseconds, of the measurement period

interval_type propget_Milliseconds ( ) [inline]

The number of whole milliseconds in the measurement period.

This represents the extent, in whole milliseconds, of the measurement period

interval_type propget_PeriodCount ( ) [inline]

The elapsed count in the measurement period.

This represents the extent, in machine-specific increments, of the measurement period

interval_type propget_Seconds ( ) [inline]

The number of whole seconds in the measurement period.

This represents the extent, in whole seconds, of the measurement period

void Start ( ) [inline]

Starts measurement.

Begins the measurement period

void Stop ( ) [inline]

Ends measurement.

Ends the measurement period

The documentation for this class was generated from the following file:
  • perf.d


PerformanceCounterScope< T > Class Reference
[synsoft.win32.perf]

Detailed Description

Performance counter scope class generating template.

This template declares the class Scope which manages a performance counter instance, scoping its measurement interval by virtue of its supporting the RAII protocol.

The documentation for this class was generated from the following file:
  • perf.d


ProcessTimesCounter Class Reference
[synsoft.win32.perf]

List of all members.

Detailed Description

A performance counter that provides process-specific performance timings.

This class uses the operating system's performance monitoring facilities to provide timing information pertaining to the calling process only, irrespective of the activities of other processes on the system. This class does not provide meaningful timing information on operating systems that do not provide process-specific monitoring.

Public Types

typedef long | interval_type
The interval type.

typedef typedef PerformanceCounterScope<
ProcessTimesCounter > Scope 		scope_type
The scope type.

Public Methods

void | Start ()
Starts measurement.

void | Stop ()
Ends measurement.

interval_type propget_KernelPeriodCount ()
The elapsed count in the measurement period for kernel mode activity.

interval_type propget_KernelSeconds ()
The number of whole seconds in the measurement period for kernel mode activity.

interval_type propget_KernelMilliseconds ()
The number of whole milliseconds in the measurement period for kernel mode activity.

interval_type propget_KernelMicroseconds ()
The number of whole microseconds in the measurement period for kernel mode activity.

interval_type propget_UserPeriodCount ()
The elapsed count in the measurement period for user mode activity.

interval_type propget_UserSeconds ()
The number of whole seconds in the measurement period for user mode activity.

interval_type propget_UserMilliseconds ()
The number of whole milliseconds in the measurement period for user mode activity.

interval_type propget_UserMicroseconds ()
The number of whole microseconds in the measurement period for user mode activity.

interval_type propget_PeriodCount ()
The elapsed count in the measurement period.

interval_type propget_Seconds ()
The number of whole seconds in the measurement period.

interval_type propget_Milliseconds ()
The number of whole milliseconds in the measurement period.

interval_type propget_Microseconds ()
The number of whole microseconds in the measurement period.

Member Typedef Documentation

typedef long interval_type

The interval type.

The type of the interval measurement, a 64-bit signed integer

typedef typedef PerformanceCounterScope<ProcessTimesCounter> Scope scope_type

The scope type.

The type with which instances of the counter class can be subject to the RAII protocol in order to scope particular measurement intervals

Member Function Documentation

interval_type propget_KernelMicroseconds ( ) [inline]

The number of whole microseconds in the measurement period for kernel mode activity.

This represents the extent, in whole microseconds, of the measurement period for kernel mode activity

interval_type propget_KernelMilliseconds ( ) [inline]

The number of whole milliseconds in the measurement period for kernel mode activity.

This represents the extent, in whole milliseconds, of the measurement period for kernel mode activity

interval_type propget_KernelPeriodCount ( ) [inline]

The elapsed count in the measurement period for kernel mode activity.

This represents the extent, in machine-specific increments, of the measurement period for kernel mode activity

interval_type propget_KernelSeconds ( ) [inline]

The number of whole seconds in the measurement period for kernel mode activity.

This represents the extent, in whole seconds, of the measurement period for kernel mode activity

interval_type propget_Microseconds ( ) [inline]

The number of whole microseconds in the measurement period.

This represents the extent, in whole microseconds, of the measurement period

interval_type propget_Milliseconds ( ) [inline]

The number of whole milliseconds in the measurement period.

This represents the extent, in whole milliseconds, of the measurement period

interval_type propget_PeriodCount ( ) [inline]

The elapsed count in the measurement period.

This represents the extent, in machine-specific increments, of the measurement period

interval_type propget_Seconds ( ) [inline]

The number of whole seconds in the measurement period.

This represents the extent, in whole seconds, of the measurement period

interval_type propget_UserMicroseconds ( ) [inline]

The number of whole microseconds in the measurement period for user mode activity.

This represents the extent, in whole microseconds, of the measurement period for user mode activity

interval_type propget_UserMilliseconds ( ) [inline]

The number of whole milliseconds in the measurement period for user mode activity.

This represents the extent, in whole milliseconds, of the measurement period for user mode activity

interval_type propget_UserPeriodCount ( ) [inline]

The elapsed count in the measurement period for user mode activity.

This represents the extent, in machine-specific increments, of the measurement period for user mode activity

interval_type propget_UserSeconds ( ) [inline]

The number of whole seconds in the measurement period for user mode activity.

This represents the extent, in whole seconds, of the measurement period for user mode activity

void Start ( ) [inline]

Starts measurement.

Begins the measurement period

void Stop ( ) [inline]

Ends measurement.

Ends the measurement period

The documentation for this class was generated from the following file:
  • perf.d


Registry Class Reference
[synsoft.win32.reg]

List of all members.

Detailed Description

Represents the local system registry.

Static Public Methods

Key propget_ClassesRoot ()
Returns the root key for the HKEY_CLASSES_ROOT hive.

Key propget_CurrentUser ()
Returns the root key for the HKEY_CURRENT_USER hive.

Key propget_LocalMachine ()
Returns the root key for the HKEY_LOCAL_MACHINE hive.

Key propget_Users ()
Returns the root key for the HKEY_USERS hive.

Key propget_PerformanceData ()
Returns the root key for the HKEY_PERFORMANCE_DATA hive.

Key propget_CurrentConfig ()
Returns the root key for the HKEY_CURRENT_CONFIG hive.

Key propget_DynData ()
Returns the root key for the HKEY_DYN_DATA hive.

Member Function Documentation

Key propget_ClassesRoot ( ) [inline, static]

Returns the root key for the HKEY_CLASSES_ROOT hive.

Key propget_CurrentConfig ( ) [inline, static]

Returns the root key for the HKEY_CURRENT_CONFIG hive.

Key propget_CurrentUser ( ) [inline, static]

Returns the root key for the HKEY_CURRENT_USER hive.

Key propget_DynData ( ) [inline, static]

Returns the root key for the HKEY_DYN_DATA hive.

Key propget_LocalMachine ( ) [inline, static]

Returns the root key for the HKEY_LOCAL_MACHINE hive.

Key propget_PerformanceData ( ) [inline, static]

Returns the root key for the HKEY_PERFORMANCE_DATA hive.

Key propget_Users ( ) [inline, static]

Returns the root key for the HKEY_USERS hive.

The documentation for this class was generated from the following file:
  • reg.d


RegistryException Class Reference

List of all members.

Detailed Description

Exception class thrown by the synsoft.win32.reg classes.

Public Methods

Construction
this (char[] message)
Creates an instance of the exception.

this (char[] message, int error)
Creates an instance of the exception, with the given.

Member Function Documentation

this | ( | char | message[],
 |  | int | error
 | ) | [inline]

Creates an instance of the exception, with the given.

Parameters:
message | The message associated with the exception
error | The Win32 error number associated with the exception

this ( char message[] ) [inline]

Creates an instance of the exception.

Parameters:
message The message associated with the exception

The documentation for this class was generated from the following file:
  • reg.d


Scope Class Reference

List of all members.

Detailed Description

Performance counter scoping class.

This auto class manages a performance counter instance, scoping its measurement interval by virtue of its supporting the RAII protocol

Public Types

typedef T | counter_type
The parameterising performance counter class.

Public Methods

this (counter_type counter)
Constructs an instance of the PerformanceCounterScope using a reference to the parameterising performance counter class, whose measurement is to be scoped.

~this ()
The measurement interval is completed with a call to stop() on the managed counter instance.

void | Stop ()
Calls stop() on the managed counter instance, so that intermediate timings can be taken.

counter_type propget_Counter ()
Returns a reference to the managed counter instance.

Member Typedef Documentation

typedef T counter_type

The parameterising performance counter class.

Constructor & Destructor Documentation

~this ( ) [inline]

The measurement interval is completed with a call to stop() on the managed counter instance.

Member Function Documentation

counter_type propget_Counter ( ) [inline]

Returns a reference to the managed counter instance.

void Stop ( ) [inline]

Calls stop() on the managed counter instance, so that intermediate timings can be taken.

this ( counter_type counter ) [inline]

Constructs an instance of the PerformanceCounterScope using a reference to the parameterising performance counter class, whose measurement is to be scoped.

The measurement interval is commenced with a call to start() on the managed counter instance.

The documentation for this class was generated from the following file:
  • perf.d


SECURITY_ATTRIBUTES Struct Reference
[synsoft.win32.types]

List of all members.

Detailed Description

Contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable.

Public Attributes

DWORD nLength
The size, in bytes, of this structure.

LPVOID lpSecurityDescriptor
Pointer to a security descriptor for the object that controls the sharing of it. If NULL is specified for this member, the object is assigned the default security descriptor of the calling process. This is not the same as granting access to everyone by assigning a null DACL. The default security descriptor is based on the default DACL of the access token belonging to the calling process. By default, the default DACL in the access token of a process allows access only to the user represented by the access token. If other users must access the object, you can either create a security descriptor with a null DACL, or add ACEs to the DACL that grants access to a group of users.

BOOL bInheritHandle
Specifies whether the returned handle is inherited when a new process is created. If this member is TRUE, the new process inherits the handle.

Member Data Documentation

BOOL bInheritHandle

Specifies whether the returned handle is inherited when a new process is created. If this member is TRUE, the new process inherits the handle.

LPVOID lpSecurityDescriptor

Pointer to a security descriptor for the object that controls the sharing of it. If NULL is specified for this member, the object is assigned the default security descriptor of the calling process. This is not the same as granting access to everyone by assigning a null DACL. The default security descriptor is based on the default DACL of the access token belonging to the calling process. By default, the default DACL in the access token of a process allows access only to the user represented by the access token. If other users must access the object, you can either create a security descriptor with a null DACL, or add ACEs to the DACL that grants access to a group of users.

DWORD nLength

The size, in bytes, of this structure.

The documentation for this struct was generated from the following file:
  • win32/types.d


Semaphore Class Reference
[synsoft.win32.synch]

List of all members.

Detailed Description

This class represents a Win32 semaphore synchronisation object.

Public Methods

Construction
this (int maxSlots)
Creates an anonymous semaphore with the indicated number of slots. All slots are available.

this (int maxSlots, int availableSlots)
Creates an anonymous semaphore with the indicated number of slots.

this (char[] name, int maxSlots)
Creates a named semaphore with the indicated number of slots. All slots are available.

this (char[] name, int maxSlots, int availableSlots)
Creates a named semaphore with the indicated number of slots.

~this ()
Calls the close() method, ensuring that the semaphore is released to the operating system when the object is destroyed.

Methods
void | Close ()
Closes the semaphore object handle.

boolean | Wait (uint timeout)
Waits, for the specified period, for a slot on the semaphore to become available.

void | Wait ()
Waits forever for a slot on the semaphore to become available.

void | Release (uint cSlots)
Releases the given number of slots acquired on the semaphore.

void | Release ()
Releases one slot acquired on the semaphore.

Properties
int | propget_NumSlots ()
The maximum number of slots in the semaphore.

int | propget_AvailableSlots ()
The number of available slots in the semaphore.

char[] | propget_Name ()
The name of the semaphore.

Public Attributes

Constants
const uint | INFINITE = (uint)0xFFFFFFFF
Represents an infinite wait period.

Constructor & Destructor Documentation

~this ( ) [inline]

Calls the close() method, ensuring that the semaphore is released to the operating system when the object is destroyed.

Member Function Documentation

void Close ( ) [inline]

Closes the semaphore object handle.

int propget_AvailableSlots ( ) [inline]

The number of available slots in the semaphore.

char [] propget_Name ( ) [inline]

The name of the semaphore.

int propget_NumSlots ( ) [inline]

The maximum number of slots in the semaphore.

void Release ( ) [inline]

Releases one slot acquired on the semaphore.

Note:
A SynchException object is thrown if the release fails

void Release ( uint cSlots ) [inline]

Releases the given number of slots acquired on the semaphore.

Parameters:
cSlots The number of slots to release
Note:
A SynchException object is thrown if the release fails

this | ( | char | name[],
 |  | int | maxSlots,
 |  | int | availableSlots
 | ) | [inline]

Creates a named semaphore with the indicated number of slots.

Parameters:
name | The name of the semaphore
maxSlots | The maximum number of slots
availableSlots | The number of slots initially available
Note:
If the semaphore cannot be created the method throws a SynchException object

this | ( | char | name[],
 |  | int | maxSlots
 | ) | [inline]

Creates a named semaphore with the indicated number of slots. All slots are available.

Parameters:
name | The name of the semaphore
maxSlots | The maximum number of slots

this | ( | int | maxSlots,
 |  | int | availableSlots
 | ) | [inline]

Creates an anonymous semaphore with the indicated number of slots.

Parameters:
maxSlots | The maximum number of slots
availableSlots | The number of slots initially available

this ( int maxSlots ) [inline]

Creates an anonymous semaphore with the indicated number of slots. All slots are available.

Parameters:
maxSlots The maximum number of slots

void Wait ( ) [inline]

Waits forever for a slot on the semaphore to become available.

Note:
If the wait fails the method throws a SynchException object

boolean Wait ( uint timeout ) [inline]

Waits, for the specified period, for a slot on the semaphore to become available.

Parameters:
timeout The number of milliseconds to wait, or INFINITE for a non-expiring wait
Returns:
true if the semaphore slot was aquired, or false if the timeout period elapsed
Note:
If the wait fails the method throws a SynchException object

Member Data Documentation

const uint INFINITE = (uint)0xFFFFFFFF

Represents an infinite wait period.

The documentation for this class was generated from the following file:
  • synch.d


SynchException Class Reference
[synsoft.win32.synch]

List of all members.

Detailed Description

This class is thrown by synchronisation classes in response to serious failures.

Public Methods

Construction
this (char[] message)
Creates an instance of the exception.

this (char[] message, int error)
Creates an instance of the exception, with the given.

Member Function Documentation

this | ( | char | message[],
 |  | int | error
 | ) | [inline]

Creates an instance of the exception, with the given.

Parameters:
message | The message associated with the exception
error | The Win32 error number associated with the exception

this ( char message[] ) [inline]

Creates an instance of the exception.

Parameters:
message The message associated with the exception

The documentation for this class was generated from the following file:
  • synch.d


ThreadTimesCounter Class Reference
[synsoft.win32.perf]

List of all members.

Detailed Description

A performance counter that provides thread-specific performance timings.

This class uses the operating system's performance monitoring facilities to provide timing information pertaining to the calling thread only, irrespective of the activities of other threads on the system. This class does not provide meaningful timing information on operating systems that do not provide thread-specific monitoring.

Public Types

typedef long | interval_type
The interval type.

typedef typedef PerformanceCounterScope<
ThreadTimesCounter > Scope 		scope_type
The scope type.

Public Methods

this ()
Constructor.

void | Start ()
Starts measurement.

void | Stop ()
Ends measurement.

interval_type propget_KernelPeriodCount ()
The elapsed count in the measurement period for kernel mode activity.

interval_type propget_KernelSeconds ()
The number of whole seconds in the measurement period for kernel mode activity.

interval_type propget_KernelMilliseconds ()
The number of whole milliseconds in the measurement period for kernel mode activity.

interval_type propget_KernelMicroseconds ()
The number of whole microseconds in the measurement period for kernel mode activity.

interval_type propget_UserPeriodCount ()
The elapsed count in the measurement period for user mode activity.

interval_type propget_UserSeconds ()
The number of whole seconds in the measurement period for user mode activity.

interval_type propget_UserMilliseconds ()
The number of whole milliseconds in the measurement period for user mode activity.

interval_type propget_UserMicroseconds ()
The number of whole microseconds in the measurement period for user mode activity.

interval_type propget_PeriodCount ()
The elapsed count in the measurement period.

interval_type propget_Seconds ()
The number of whole seconds in the measurement period.

interval_type propget_Milliseconds ()
The number of whole milliseconds in the measurement period.

interval_type propget_Microseconds ()
The number of whole microseconds in the measurement period.

Member Typedef Documentation

typedef long interval_type

The interval type.

The type of the interval measurement, a 64-bit signed integer

typedef typedef PerformanceCounterScope<ThreadTimesCounter> Scope scope_type

The scope type.

The type with which instances of the counter class can be subject to the RAII protocol in order to scope particular measurement intervals

Member Function Documentation

interval_type propget_KernelMicroseconds ( ) [inline]

The number of whole microseconds in the measurement period for kernel mode activity.

This represents the extent, in whole microseconds, of the measurement period for kernel mode activity

interval_type propget_KernelMilliseconds ( ) [inline]

The number of whole milliseconds in the measurement period for kernel mode activity.

This represents the extent, in whole milliseconds, of the measurement period for kernel mode activity

interval_type propget_KernelPeriodCount ( ) [inline]

The elapsed count in the measurement period for kernel mode activity.

This represents the extent, in machine-specific increments, of the measurement period for kernel mode activity

interval_type propget_KernelSeconds ( ) [inline]

The number of whole seconds in the measurement period for kernel mode activity.

This represents the extent, in whole seconds, of the measurement period for kernel mode activity

interval_type propget_Microseconds ( ) [inline]

The number of whole microseconds in the measurement period.

This represents the extent, in whole microseconds, of the measurement period

interval_type propget_Milliseconds ( ) [inline]

The number of whole milliseconds in the measurement period.

This represents the extent, in whole milliseconds, of the measurement period

interval_type propget_PeriodCount ( ) [inline]

The elapsed count in the measurement period.

This represents the extent, in machine-specific increments, of the measurement period

interval_type propget_Seconds ( ) [inline]

The number of whole seconds in the measurement period.

This represents the extent, in whole seconds, of the measurement period

interval_type propget_UserMicroseconds ( ) [inline]

The number of whole microseconds in the measurement period for user mode activity.

This represents the extent, in whole microseconds, of the measurement period for user mode activity

interval_type propget_UserMilliseconds ( ) [inline]

The number of whole milliseconds in the measurement period for user mode activity.

This represents the extent, in whole milliseconds, of the measurement period for user mode activity

interval_type propget_UserPeriodCount ( ) [inline]

The elapsed count in the measurement period for user mode activity.

This represents the extent, in machine-specific increments, of the measurement period for user mode activity

interval_type propget_UserSeconds ( ) [inline]

The number of whole seconds in the measurement period for user mode activity.

This represents the extent, in whole seconds, of the measurement period for user mode activity

void Start ( ) [inline]

Starts measurement.

Begins the measurement period

void Stop ( ) [inline]

Ends measurement.

Ends the measurement period

this ( ) [inline]

Constructor.

Creates an instance of the class, and caches the thread token so that measurements will be taken with respect to the thread in which the class was created.

The documentation for this class was generated from the following file:
  • perf.d


TickCounter Class Reference
[synsoft.win32.perf]

List of all members.

Detailed Description

A low-cost, low-resolution performance counter.

This class provides low-resolution, but low-latency, performance monitoring and is guaranteed to be meaningful on all operating systems.

Public Types

typedef long | interval_type
The interval type.

typedef typedef PerformanceCounterScope<
TickCounter > Scope 		scope_type
The scope type.

Public Methods

void | Start ()
Starts measurement.

void | Stop ()
Ends measurement.

interval_type propget_PeriodCount ()
The elapsed count in the measurement period.

interval_type propget_Seconds ()
The number of whole seconds in the measurement period.

interval_type propget_Milliseconds ()
The number of whole milliseconds in the measurement period.

interval_type propget_Microseconds ()
The number of whole microseconds in the measurement period.

Member Typedef Documentation

typedef long interval_type

The interval type.

The type of the interval measurement, a 64-bit signed integer

typedef typedef PerformanceCounterScope<TickCounter> Scope scope_type

The scope type.

The type with which instances of the counter class can be subject to the RAII protocol in order to scope particular measurement intervals

Member Function Documentation

interval_type propget_Microseconds ( ) [inline]

The number of whole microseconds in the measurement period.

This represents the extent, in whole microseconds, of the measurement period

interval_type propget_Milliseconds ( ) [inline]

The number of whole milliseconds in the measurement period.

This represents the extent, in whole milliseconds, of the measurement period

interval_type propget_PeriodCount ( ) [inline]

The elapsed count in the measurement period.

This represents the extent, in machine-specific increments, of the measurement period

interval_type propget_Seconds ( ) [inline]

The number of whole seconds in the measurement period.

This represents the extent, in whole seconds, of the measurement period

void Start ( ) [inline]

Starts measurement.

Begins the measurement period

void Stop ( ) [inline]

Ends measurement.

Ends the measurement period

The documentation for this class was generated from the following file:
  • perf.d


Value Class Reference
[synsoft.win32.reg]

List of all members.

Detailed Description

This class represents a value of a registry key.

Public Methods

char[] | propget_Name ()
The name of the value.

REG_VALUE_TYPE propget_Type ()
The type of value.

char[] | propget_Value_SZ ()
Obtains the current value of the value as a string.

char[] | propget_Value_EXPAND_SZ ()
Obtains the current value as a string, within which any environment variables have undergone expansion.

char[][] | propget_Value_MULTI_SZ ()
Obtains the current value as an array of strings.

uint | propget_Value_DWORD ()
Obtains the current value as a 32-bit unsigned integer, ordered correctly according to the current architecture.

ulong | propget_Value_QWORD ()
Obtains the value as a 64-bit unsigned integer, ordered correctly according to the current architecture.

byte[] | propget_Value_BINARY ()
Obtains the value as a binary blob.

Member Function Documentation

char [] propget_Name ( ) [inline]

The name of the value.

Note:
If the value represents a default value of a key, which has no name, the returned string will be of zero length

REG_VALUE_TYPE propget_Type ( ) [inline]

The type of value.

byte [] propget_Value_BINARY ( ) [inline]

Obtains the value as a binary blob.

Returns:
The contents of the value
Note:
Throws a RegistryException if the type of the value is not REG_BINARY

uint propget_Value_DWORD ( ) [inline]

Obtains the current value as a 32-bit unsigned integer, ordered correctly according to the current architecture.

Returns:
The contents of the value
Note:
An exception is thrown for all types other than REG_DWORD, REG_DWORD_LITTLE_ENDIAN and REG_DWORD_BIG_ENDIAN.

char [] propget_Value_EXPAND_SZ ( ) [inline]

Obtains the current value as a string, within which any environment variables have undergone expansion.

Returns:
The contents of the value
Note:
This function works with the same value-types as propget_Value_SZ().

char [][] propget_Value_MULTI_SZ ( ) [inline]

Obtains the current value as an array of strings.

Returns:
The contents of the value
Note:
Throws a RegistryException if the type of the value is not REG_MULTI_SZ

ulong propget_Value_QWORD ( ) [inline]

Obtains the value as a 64-bit unsigned integer, ordered correctly according to the current architecture.

Returns:
The contents of the value
Note:
Throws a RegistryException if the type of the value is not REG_QWORD

char [] propget_Value_SZ ( ) [inline]

Obtains the current value of the value as a string.

Returns:
The contents of the value
Note:
If the value's type is REG_EXPAND_SZ the returned value is not expanded; propget_Value_EXPAND_SZ() should be called
Throws a RegistryException if the type of the value is not REG_SZ, REG_EXPAND_SZ, REG_DWORD(_*) or REG_QWORD(_*):

The documentation for this class was generated from the following file:
  • reg.d


ValueSequence Class Reference
[synsoft.win32.reg]

List of all members.

Detailed Description

An enumerable sequence representing the values of a registry Key.

It would be used as follows:

  Key key = . . .

  foreach(Value v; key.propget_Values())
  {
    process_Value(v);
  }

The documentation for this class was generated from the following file:
  • reg.d


Win32Exception Class Reference
[synsoft.win32.exception]

List of all members.

Detailed Description

This class is thrown by synsoft.win32.* classes.

Public Methods

Construction
this (char[] message)
Creates an instance of the exception.

this (char[] message, int error)
Creates an instance of the exception, with the given.

Attributes
int | propget_Error ()
Returns the Win32 error code associated with the failure.

char[] | LookupError (char[] moduleName)
Converts the error into.

Member Function Documentation

char [] LookupError ( char moduleName[] ) [inline]

Converts the error into.

int propget_Error ( ) [inline]

Returns the Win32 error code associated with the failure.

this | ( | char | message[],
 |  | int | error
 | ) | [inline]

Creates an instance of the exception, with the given.

Parameters:
message | The message associated with the exception
error | The Win32 error number associated with the exception

this ( char message[] ) [inline]

Creates an instance of the exception.

Parameters:
message The message associated with the exception

The documentation for this class was generated from the following file:
  • exception.d


Compound Member Index

SynSoft D Libraries Compound Members

b | c | d | i | l | n | p | r | s | t | w | ~

Here is a list of all documented class members with links to the classes they belong to:

- b -

  • bInheritHandle : SECURITY_ATTRIBUTES

- c -

  • Close() : Semaphore
  • counter_type : Scope

- d -

  • dwHighDateTime : FILETIME
  • dwLowDateTime : FILETIME

- i -

  • INFINITE : Semaphore
  • interval_type : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter

- l -

  • LookupError() : Win32Exception
  • lpSecurityDescriptor : SECURITY_ATTRIBUTES

- n -

  • nLength : SECURITY_ATTRIBUTES

- p -

  • propget_AvailableSlots() : Semaphore
  • propget_ClassesRoot() : Registry
  • propget_Counter() : Scope
  • propget_CurrentConfig() : Registry
  • propget_CurrentUser() : Registry
  • propget_DynData() : Registry
  • propget_Error() : Win32Exception
  • propget_KernelMicroseconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_KernelMilliseconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_KernelPeriodCount() : ProcessTimesCounter, ThreadTimesCounter
  • propget_KernelSeconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_LocalMachine() : Registry
  • propget_Microseconds() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • propget_Milliseconds() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • propget_Name() : Semaphore, Value, Key
  • propget_NumSlots() : Semaphore
  • propget_PerformanceData() : Registry
  • propget_PeriodCount() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • propget_Seconds() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • propget_SubKey() : Key
  • propget_SubKeys() : Key
  • propget_Type() : Value
  • propget_UserMicroseconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_UserMilliseconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_UserPeriodCount() : ProcessTimesCounter, ThreadTimesCounter
  • propget_Users() : Registry
  • propget_UserSeconds() : ProcessTimesCounter, ThreadTimesCounter
  • propget_Value() : Key
  • propget_Value_BINARY() : Value
  • propget_Value_DWORD() : Value
  • propget_Value_EXPAND_SZ() : Value
  • propget_Value_MULTI_SZ() : Value
  • propget_Value_QWORD() : Value
  • propget_Value_SZ() : Value
  • propget_Values() : Key

- r -

  • Release() : Semaphore

- s -

  • scope_type : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • Start() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter
  • Stop() : PerformanceCounter, ProcessTimesCounter, ThreadTimesCounter, TickCounter, HighPerformanceCounter, Scope

- t -

  • this() : Semaphore, SynchException, RegistryException, ThreadTimesCounter, Scope, Win32Exception

- w -

  • Wait() : Semaphore

- ~ -

  • ~this() : Semaphore, Scope


Module Index

SynSoft D Libraries Modules

Here is a list of all modules:
  • synsoft
    • synsoft.types
    • synsoft.text
      • synsoft.text.token
    • synsoft.com
    • synsoft.win32
      • synsoft.win32.exception
      • synsoft.win32.perf
      • synsoft.win32.reg
      • synsoft.win32.synch
      • synsoft.win32.types


synsoft

Detailed Description

The main module level of the SynSoft D libraries.

Modules

synsoft.types
This library provides types.

synsoft.text
The module level of the text libraries.

synsoft.com
The module level of the COM libraries.

synsoft.win32
The module level of the Win32 libraries.


synsoft.types
[synsoft]

Detailed Description

This library provides types.

Variables

alias int boolean
Represents a boolean quantity.

Variable Documentation

alias int boolean

Represents a boolean quantity.


synsoft.text
[synsoft]

Detailed Description

The module level of the text libraries.

Modules

synsoft.text.token
This library provides text tokenisation.


synsoft.text.token
[synsoft.text]

Detailed Description

This library provides text tokenisation.

Functions

char[][] | tokenise (char[] source, char delimiter, boolean bElideBlanks, boolean bZeroTerminate)
Tokenises a string with a character, optionally eliding blanks and/or zero terminating the tokens.

char[][] | tokenize (char[] source, char delimiter, boolean bElideBlanks, boolean bZeroTerminate)
Tokenizes a string with a character, optionally eliding blanks and/or zero terminating the tokens.

char[][] | tokenise (char[] source, char[] delimiter, boolean bElideBlanks, boolean bZeroTerminate)
Tokenises a string with a string, optionally eliding blanks and/or zero terminating the tokens.

char[][] | tokenize (char[] source, char[] delimiter, boolean bElideBlanks, boolean bZeroTerminate)
Tokenizes a string with a string, optionally eliding blanks and/or zero terminating the tokens.

Function Documentation

char [][] tokenise | ( | char | source[],
 |  | char | delimiter[],
 |  | boolean | bElideBlanks,
 |  | boolean | bZeroTerminate
 | ) |

Tokenises a string with a string, optionally eliding blanks and/or zero terminating the tokens.

Tokenises a string with a character, optionally eliding blanks and/or zero terminating the tokens

Parameters:
source | The string to tokenise
delimiter | The string delimiter with which source is tokenised
bElideBlanks | If true any blank tokens are elided from the results; if false they are preserved
bZeroTerminate | If true the token slices are zero terminated for compatibility with C zero-terminated string functions

char [][] tokenise | ( | char | source[],
 |  | char | delimiter,
 |  | boolean | bElideBlanks,
 |  | boolean | bZeroTerminate
 | ) |

Tokenises a string with a character, optionally eliding blanks and/or zero terminating the tokens.

Tokenises a string with a character, optionally eliding blanks and/or zero terminating the tokens

Parameters:
source | The string to tokenise
delimiter | The character delimiter with which source is tokenised
bElideBlanks | If true any blank tokens are elided from the results; if false they are preserved
bZeroTerminate | If true the token slices are zero terminated for compatibility with C zero-terminated string functions

char [][] tokenize | ( | char | source[],
 |  | char | delimiter[],
 |  | boolean | bElideBlanks,
 |  | boolean | bZeroTerminate
 | ) |

Tokenizes a string with a string, optionally eliding blanks and/or zero terminating the tokens.

Tokenizes a string with a character, optionally eliding blanks and/or zero terminating the tokens

Parameters:
source | The string to tokenize
delimiter | The string delimiter with which source is tokenized
bElideBlanks | If true any blank tokens are elided from the results; if false they are preserved
bZeroTerminate | If true the token slices are zero terminated for compatibility with C zero-terminated string functions

char [][] tokenize | ( | char | source[],
 |  | char | delimiter,
 |  | boolean | bElideBlanks,
 |  | boolean | bZeroTerminate
 | ) |

Tokenizes a string with a character, optionally eliding blanks and/or zero terminating the tokens.

Tokenizes a string with a character, optionally eliding blanks and/or zero terminating the tokens

Parameters:
source | The string to tokenize
delimiter | The character delimiter with which source is tokenized
bElideBlanks | If true any blank tokens are elided from the results; if false they are preserved
bZeroTerminate | If true the token slices are zero terminated for compatibility with C zero-terminated string functions


synsoft.com
[synsoft]


synsoft.win32
[synsoft]

Detailed Description

The module level of the Win32 libraries.

Modules

synsoft.win32.exception
This library provides Win32 exception facilities.

synsoft.win32.perf
This library provides Win32 Performance facilities.

synsoft.win32.reg
This library provides Win32 Registry facilities.

synsoft.win32.synch
This library provides Win32 Synchronisation facilities.

synsoft.win32.types
This library provides Win32 types.


synsoft.win32.exception
[synsoft.win32]

Detailed Description

This library provides Win32 exception facilities.

Compounds

class Win32Exception
This class is thrown by synsoft.win32.* classes. More...


synsoft.win32.perf
[synsoft.win32]

Detailed Description

This library provides Win32 Performance facilities.

Compounds

class | HighPerformanceCounter
A performance counter that uses the high performance hardware counter on the host machine. More...

class | PerformanceCounter
A performance counter that uses the most accurate measurement APIs available on the host machine. More...

class | PerformanceCounterScope< T >
Performance counter scope class generating template. More...

class | ProcessTimesCounter
A performance counter that provides process-specific performance timings. More...

class | ThreadTimesCounter
A performance counter that provides thread-specific performance timings. More...

class | TickCounter
A low-cost, low-resolution performance counter. More...


synsoft.win32.reg
[synsoft.win32]

Detailed Description

This library provides Win32 Registry facilities.

Compounds

class | Key
This class represents a registry key. More...

class | KeySequence
An enumerable sequence representing the sub-keys of a registry Key. More...

class | Registry
Represents the local system registry. More...

class | Value
This class represents a value of a registry key. More...

class | ValueSequence
An enumerable sequence representing the values of a registry Key. More...

Enumerations

enum REGSAM {
KEY_QUERY_VALUE = 0x0001,
KEY_SET_VALUE = 0x0002,
KEY_CREATE_SUB_KEY = 0x0004,
KEY_ENUMERATE_SUB_KEYS = 0x0008,
KEY_NOTIFY = 0x0010,
KEY_CREATE_LINK = 0x0020,
KEY_WOW64_32KEY = 0x0200,
KEY_WOW64_64KEY = 0x0100 ,
KEY_READ,
KEY_WRITE,
KEY_EXECUTE,
KEY_ALL_ACCESS
}
Enumeration of the recognised registry access modes. More...

enum REG_VALUE_TYPE { ,
REG_NONE = 0,
REG_SZ = 1,
REG_EXPAND_SZ = 2,
REG_BINARY = 3,
REG_DWORD = 4,
REG_DWORD_LITTLE_ENDIAN = 4,
REG_DWORD_BIG_ENDIAN = 5,
REG_LINK = 6,
REG_MULTI_SZ = 7,
REG_RESOURCE_LIST = 8,
REG_FULL_RESOURCE_DESCRIPTOR = 9,
REG_RESOURCE_REQUIREMENTS_LIST = 10,
REG_QWORD = 11,
REG_QWORD_LITTLE_ENDIAN = 11
}
Enumeration of the recognised registry value types. More...

Enumeration Type Documentation

enum REG_VALUE_TYPE

Enumeration of the recognised registry value types.

Enumeration values:
REG_NONE | The null value type. (In practise this is treated as a zero-length binary array by the Win32 registry).
REG_SZ | A zero-terminated string.
REG_EXPAND_SZ | A zero-terminated string containing expandable environment variable references.
REG_BINARY | A binary blob.
REG_DWORD | A 32-bit unsigned integer.
REG_DWORD_LITTLE_ENDIAN | A 32-bit unsigned integer, stored in little-endian byte order.
REG_DWORD_BIG_ENDIAN | A 32-bit unsigned integer, stored in big-endian byte order.
REG_LINK | A registry link.
REG_MULTI_SZ | A set of zero-terminated strings.
REG_RESOURCE_LIST | A hardware resource list.
REG_FULL_RESOURCE_DESCRIPTOR | A hardware resource descriptor.
REG_RESOURCE_REQUIREMENTS_LIST | A hardware resource requirements list.
REG_QWORD | A 64-bit unsigned integer.
REG_QWORD_LITTLE_ENDIAN | A 64-bit unsigned integer, stored in little-endian byte order.

enum REGSAM

Enumeration of the recognised registry access modes.

Enumeration values:
KEY_QUERY_VALUE | Permission to query subkey data.
KEY_SET_VALUE | Permission to set subkey data.
KEY_CREATE_SUB_KEY | Permission to create subkeys.
KEY_ENUMERATE_SUB_KEYS | Permission to enumerate subkeys.
KEY_NOTIFY | Permission for change notification.
KEY_CREATE_LINK | Permission to create a symbolic link.
KEY_WOW64_32KEY | Enables a 64- or 32-bit application to open a 32-bit key.
KEY_WOW64_64KEY | Enables a 64- or 32-bit application to open a 64-bit key.
KEY_READ | Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access rights.
KEY_WRITE | Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights.
KEY_EXECUTE | Permission for read access.
KEY_ALL_ACCESS | Combines the KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access rights, plus all the standard access rights except SYNCHRONIZE.


synsoft.win32.synch
[synsoft.win32]

Detailed Description

This library provides Win32 Synchronisation facilities.

Compounds

class | Semaphore
This class represents a Win32 semaphore synchronisation object. More...

class | SynchException
This class is thrown by synchronisation classes in response to serious failures. More...


synsoft.win32.types
[synsoft.win32]

Detailed Description

This library provides Win32 types.

Compounds

struct | FILETIME
A 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC). More...

struct | SECURITY_ATTRIBUTES
Contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. More...

Typedefs

typedef uint | Reserved
Used for reserved parameters.

typedef void * | HANDLE
Represents an untyped handle.

typedef void * | HKEY
Represents a registry key handle.

typedef HKEY * | PHKEY
Pointer to a registry key handle.

Variables

alias int | BOOL
Represents a boolean quantity.

alias HANDLE * | LPHANDLE
Pointer to an untyped handle.

alias byte | BYTE
Represents a byte.

alias BYTE * | LPBYTE
Pointer to a byte.

alias int | LONG
Represents a 32-bit signed integer.

alias LONG * | LPLONG
Pointer to a 32-bit signed integer.

alias uint | UINT
Represents an unsigned integer.

alias UINT * | LPUINT
Pointer to an unsigned integer.

alias uint | DWORD
Represents a 32-bit unsigned integer.

alias DWORD * | LPDWORD
Pointer to a 32-bit unsigned integer.

alias void * | LPVOID
Opaque pointer.

alias void * | LPCVOID
Opaque pointer.

alias char * | LPSTR
Pointer to an ANSI character string.

alias char * | LPCSTR
Pointer to an ANSI character string.

alias wchar * | LPWSTR
Pointer to a Unicode character string.

alias wchar * | LPCWSTR
Pointer to a Unicode character string.

Typedef Documentation

typedef void* HANDLE

Represents an untyped handle.

typedef void* HKEY

Represents a registry key handle.

typedef HKEY* PHKEY

Pointer to a registry key handle.

typedef uint Reserved

Used for reserved parameters.

Variable Documentation

alias int BOOL

Represents a boolean quantity.

alias byte BYTE

Represents a byte.

alias uint DWORD

Represents a 32-bit unsigned integer.

alias int LONG

Represents a 32-bit signed integer.

alias BYTE* LPBYTE

Pointer to a byte.

alias char* LPCSTR

Pointer to an ANSI character string.

alias void* LPCVOID

Opaque pointer.

alias wchar* LPCWSTR

Pointer to a Unicode character string.

alias DWORD* LPDWORD

Pointer to a 32-bit unsigned integer.

alias HANDLE* LPHANDLE

Pointer to an untyped handle.

alias LONG* LPLONG

Pointer to a 32-bit signed integer.

alias char* LPSTR

Pointer to an ANSI character string.

alias UINT* LPUINT

Pointer to an unsigned integer.

alias void* LPVOID

Opaque pointer.

alias wchar* LPWSTR

Pointer to a Unicode character string.

alias uint UINT

Represents an unsigned integer.


Page Index

SynSoft D Libraries Related Pages

Here is a list of all related documentation pages:
  • Samples
  • Test Programs


Samples

Introduction

Alas, version 1.2 of the SynSoft D libraries does not come along with any samples. Version 1.3 will.


Test Programs

Introduction

Alas, version 1.2 of the SynSoft D libraries does not come along with any test programs. Version 1.3 will.


Alphabetical index

SynSoft D Libraries Compound Index

F
PerformanceCounterScope< T > (synsoft::win32::perf) SynchException (synsoft::win32::synch)
FILETIME (synsoft::win32::types) ProcessTimesCounter (synsoft::win32::perf)
T
H
R
ThreadTimesCounter (synsoft::win32::perf)
HighPerformanceCounter (synsoft::win32::perf) | Registry (synsoft::win32::reg) | TickCounter (synsoft::win32::perf)
K
RegistryException (synsoft::win32::reg)
V
Key (synsoft::win32::reg)
S
Value (synsoft::win32::reg)
KeySequence (synsoft::win32::reg) | Scope (synsoft::win32::perf) | ValueSequence (synsoft::win32::reg)
P
SECURITY_ATTRIBUTES (synsoft::win32::types)
W
PerformanceCounter (synsoft::win32::perf) | Semaphore (synsoft::win32::synch) | Win32Exception (synsoft::win32::exception)


Member List

Win32Exception Member List

This is the complete list of members for Win32Exception, including all inherited members.
LookupError(char[] moduleName) | Win32Exception | [inline]
propget_Error() | Win32Exception | [inline]
this(char[] message) | Win32Exception | [inline]
this(char[] message, int error) | Win32Exception | [inline]


Member List

HighPerformanceCounter Member List

This is the complete list of members for HighPerformanceCounter, including all inherited members.
interval_type typedef | HighPerformanceCounter |
propget_Microseconds() | HighPerformanceCounter | [inline]
propget_Milliseconds() | HighPerformanceCounter | [inline]
propget_PeriodCount() | HighPerformanceCounter | [inline]
propget_Seconds() | HighPerformanceCounter | [inline]
scope_type typedef | HighPerformanceCounter |
Start() | HighPerformanceCounter | [inline]
Stop() | HighPerformanceCounter | [inline]


Member List

PerformanceCounter Member List

This is the complete list of members for PerformanceCounter, including all inherited members.
interval_type typedef | PerformanceCounter |
propget_Microseconds() | PerformanceCounter | [inline]
propget_Milliseconds() | PerformanceCounter | [inline]
propget_PeriodCount() | PerformanceCounter | [inline]
propget_Seconds() | PerformanceCounter | [inline]
scope_type typedef | PerformanceCounter |
Start() | PerformanceCounter | [inline]
Stop() | PerformanceCounter | [inline]


Member List

Scope Member List

This is the complete list of members for Scope, including all inherited members.
counter_type typedef | Scope |
propget_Counter() | Scope | [inline]
Stop() | Scope | [inline]
this(counter_type counter) | Scope | [inline]
~this() | Scope | [inline]


Member List

ProcessTimesCounter Member List

This is the complete list of members for ProcessTimesCounter, including all inherited members.
interval_type typedef | ProcessTimesCounter |
propget_KernelMicroseconds() | ProcessTimesCounter | [inline]
propget_KernelMilliseconds() | ProcessTimesCounter | [inline]
propget_KernelPeriodCount() | ProcessTimesCounter | [inline]
propget_KernelSeconds() | ProcessTimesCounter | [inline]
propget_Microseconds() | ProcessTimesCounter | [inline]
propget_Milliseconds() | ProcessTimesCounter | [inline]
propget_PeriodCount() | ProcessTimesCounter | [inline]
propget_Seconds() | ProcessTimesCounter | [inline]
propget_UserMicroseconds() | ProcessTimesCounter | [inline]
propget_UserMilliseconds() | ProcessTimesCounter | [inline]
propget_UserPeriodCount() | ProcessTimesCounter | [inline]
propget_UserSeconds() | ProcessTimesCounter | [inline]
scope_type typedef | ProcessTimesCounter |
Start() | ProcessTimesCounter | [inline]
Stop() | ProcessTimesCounter | [inline]


Member List

ThreadTimesCounter Member List

This is the complete list of members for ThreadTimesCounter, including all inherited members.
interval_type typedef | ThreadTimesCounter |
propget_KernelMicroseconds() | ThreadTimesCounter | [inline]
propget_KernelMilliseconds() | ThreadTimesCounter | [inline]
propget_KernelPeriodCount() | ThreadTimesCounter | [inline]
propget_KernelSeconds() | ThreadTimesCounter | [inline]
propget_Microseconds() | ThreadTimesCounter | [inline]
propget_Milliseconds() | ThreadTimesCounter | [inline]
propget_PeriodCount() | ThreadTimesCounter | [inline]
propget_Seconds() | ThreadTimesCounter | [inline]
propget_UserMicroseconds() | ThreadTimesCounter | [inline]
propget_UserMilliseconds() | ThreadTimesCounter | [inline]
propget_UserPeriodCount() | ThreadTimesCounter | [inline]
propget_UserSeconds() | ThreadTimesCounter | [inline]
scope_type typedef | ThreadTimesCounter |
Start() | ThreadTimesCounter | [inline]
Stop() | ThreadTimesCounter | [inline]
this() | ThreadTimesCounter | [inline]


Member List

TickCounter Member List

This is the complete list of members for TickCounter, including all inherited members.
interval_type typedef | TickCounter |
propget_Microseconds() | TickCounter | [inline]
propget_Milliseconds() | TickCounter | [inline]
propget_PeriodCount() | TickCounter | [inline]
propget_Seconds() | TickCounter | [inline]
scope_type typedef | TickCounter |
Start() | TickCounter | [inline]
Stop() | TickCounter | [inline]


Member List

Key Member List

This is the complete list of members for Key, including all inherited members.
propget_Name() | Key | [inline]
propget_SubKey(char[] name) | Key | [inline]
propget_SubKeys() | Key | [inline]
propget_Value(char[] name) | Key | [inline]
propget_Values() | Key | [inline]


Member List

KeySequence Member List

This is the complete list of members for KeySequence, including all inherited members.


Member List

Registry Member List

This is the complete list of members for Registry, including all inherited members.
propget_ClassesRoot() | Registry | [inline, static]
propget_CurrentConfig() | Registry | [inline, static]
propget_CurrentUser() | Registry | [inline, static]
propget_DynData() | Registry | [inline, static]
propget_LocalMachine() | Registry | [inline, static]
propget_PerformanceData() | Registry | [inline, static]
propget_Users() | Registry | [inline, static]


Member List

RegistryException Member List

This is the complete list of members for RegistryException, including all inherited members.
this(char[] message) | RegistryException | [inline]
this(char[] message, int error) | RegistryException | [inline]


Member List

Value Member List

This is the complete list of members for Value, including all inherited members.
propget_Name() | Value | [inline]
propget_Type() | Value | [inline]
propget_Value_BINARY() | Value | [inline]
propget_Value_DWORD() | Value | [inline]
propget_Value_EXPAND_SZ() | Value | [inline]
propget_Value_MULTI_SZ() | Value | [inline]
propget_Value_QWORD() | Value | [inline]
propget_Value_SZ() | Value | [inline]


Member List

ValueSequence Member List

This is the complete list of members for ValueSequence, including all inherited members.


Member List

Semaphore Member List

This is the complete list of members for Semaphore, including all inherited members.
Close() | Semaphore | [inline]
INFINITE | Semaphore |
propget_AvailableSlots() | Semaphore | [inline]
propget_Name() | Semaphore | [inline]
propget_NumSlots() | Semaphore | [inline]
Release(uint cSlots) | Semaphore | [inline]
Release() | Semaphore | [inline]
this(int maxSlots) | Semaphore | [inline]
this(int maxSlots, int availableSlots) | Semaphore | [inline]
this(char[] name, int maxSlots) | Semaphore | [inline]
this(char[] name, int maxSlots, int availableSlots) | Semaphore | [inline]
Wait(uint timeout) | Semaphore | [inline]
Wait() | Semaphore | [inline]
~this() | Semaphore | [inline]


Member List

SynchException Member List

This is the complete list of members for SynchException, including all inherited members.
this(char[] message) | SynchException | [inline]
this(char[] message, int error) | SynchException | [inline]


Member List

FILETIME Member List

This is the complete list of members for FILETIME, including all inherited members.
dwHighDateTime | FILETIME
dwLowDateTime | FILETIME


Member List

SECURITY_ATTRIBUTES Member List

This is the complete list of members for SECURITY_ATTRIBUTES, including all inherited members.
bInheritHandle | SECURITY_ATTRIBUTES
lpSecurityDescriptor | SECURITY_ATTRIBUTES
nLength | SECURITY_ATTRIBUTES