Cjwdev.WindowsApi
Read Only access to the share
Full access to the share
Change access (Read + Write) to the share
Specifies the level of access a user should be granted or denied to a share
Deletes all items from the recycle bin on all drives
Determines whether or not a confirmation window is shown asking the user if they want to delete all items in the recycle bin
Determines whether or not a window is shown whilst the items are being deleted that shows the progress of the operation
Determines whether or not the relevant system sound is played when the recycle bin is emptied
Returns the total number of the items in the recycle bin on the specified drive. If the drive letter specified does not exist or there are
no items in the recycle bin then the return value will be 0
The drive to query the recycle bin on
Returns the total size (in bytes) of the items in the recycle bin on the specified drive. If the drive letter specified does not exist or there are
no items in the recycle bin then the return value will be 0
The drive to query the recycle bin on
Deletes an existing mapped network drive
The drive letter to delete, must be a network drive
Force the drive to be deleted even if files are still open on this drive
Creates a network drive (aka mapped drive) using the specified drive letter, UNC path and optional credentials
The UNC path (\\servername\share) to map the drive letter to
The drive letter to use
False to have this drive removed when the user logs off. True to have the drive remembered.
This option is the equivelant of the Reconnect At Logon checkbox shown when mapping a drive in Windows Exporer
The username to use for the connection - optional
The password to use for the connection - optional
Gets the UNC path that a network drive (aka mapped drive) is mapped to
The drive letter to get the UNC path for
Gets the amount of free space (in MB) on the specified remote disk. Use System.IO.DriveInfo for local disks
The disk to get the free space for. Should be a remote path such as \\server\C$ or \\server\normalshare
Shares an existing folder on the local computer. Returns NET_API_STATUS.NERR_SUCCESS if successful
The full local path to the folder that is to be shared, do not use UNC paths
The name for the share
An optional comment/description for the share
Shares an existing folder on the local computer or a remote computer. Returns NET_API_STATUS.NERR_SUCCESS if successful
The full local path to the folder that is to be shared, do not use UNC paths
The name for the share
An optional comment/description for the share
The computer to create the share on
Shares an existing folder on the local computer or a remote computer and specifies share permissions. IMPORTANT: Will not work if called from a 64 bit process
The local path to the folder to be shared. If creating the share on a remote computer then
The name for the share
An optional comment/description for the share
the path must be local to the remote computer. Do not use UNC paths
The share permissions to assign to this share
Shares an existing folder on the local computer or a remote computer and specifies share permissions. IMPORTANT: Will not work if called from a 64 bit process
The local path to the folder to be shared. If creating the share on a remote computer then
The name for the share
An optional comment/description for the share
the path must be local to the remote computer. Do not use UNC paths
The share permissions to assign to this share
The remote computer name to create the share on
The domain name that the user/group in the UserOrGroupName property belongs to
The name of the user or group that should be granted/denied permission
The share permission to grant or deny for the account in UserOrGroupName
Set to True to allow the rights specified in the Permission property and False to deny the rights specified in the Permission property.
Default is True.
Creates a new instance of the SharePermissionEntry class
Creates a new instance of the SharePermissionEntry class and populates each of the properties within the instance
The domain that the user in the AccountName argument belongs to.
Pass String.Empty or Nothing here if you are specifying a 'well known' identity such as the Everyone group in the AccountName argument
The username or group name that this permission entry relates to
The share permission to grant/deny
True to allow the permission, False to deny the permission
An access rule for a user or group that can be applied to a shared folder to assign share permissions
Provides methods for working with the file system
Renews the DHCP lease for all IPv4 addresses that were acquired via DHCP. Optionally ignores errors encountered on each NIC so that the operation continue to attempt to renew other NICs
If True then all DHCP IPv4 addresses are released before they are renewed
Renews the DHCP lease for all IPv4 addresses that were acquired via DHCP
If True then all DHCP IPv4 addresses are released before they are renewed
Releases all IPv4 addresses that were acquired via DHCP. Optionally ignores errors encountered on each NIC so that the operation continue to attempt to release other NICs
Releases all IPv4 addresses that were acquired via DHCP
Gets all network adapters that have IPv4 addresses
Joins the local computer to the specified domain. The computer must be restarted for this change to take effect
The name of the domain to join
The username to use to connect to the domain
The password for the username specified in the DomainUsername parameter
Joins a remote computer to the specified domain. The computer must be restarted for this change to take effect
The name of the domain to join
The username to use to connect to the domain
The password for the username specified in the DomainUsername parameter
The computer to join to the domain
Removes the specified computer from the domain it is currently joined to. The computer must be restarted for this change to take effect
The name or IP address of the computer to remove from the domain - pass Nothing to use the local computer
The username of an account that has local administrator permissions on the computer. A domain account should be used if possible so that the domain can be updated
The password for the account specified in the DomainOrLocalUsername parameter
Provides network related methods
Determines if a method exists in an unmanaged DLL
The DLL to look for the method in
The method to look for
Extracts a resource string from the specified resource address
The
Provides methods for working with DLL files
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
A strongly-typed resource class, for looking up localized strings, etc.
The process that memory will be read from when ReadMemory is called
The handle to the process that was retrieved during the constructor or the last
successful call to the Open method
Reads the specified number of bytes from an address in the process's memory.
All memory in the specified range must be available or the method will fail.
Returns Nothing if the method fails for any reason
The address in the process's virtual memory to start reading from
The number of bytes to read
Gets a handle to the process specified in the TargetProcess property.
A handle is automatically obtained by the constructor of this class but if the Close
method has been called to close a previously obtained handle then another handle can
be obtained by calling this method. If a handle has previously been obtained and Close has
not been called yet then an exception will be thrown.
Closes a handle that was previously obtained by the constructor or a call to the Open method
Creates a new instance of the NativeMemoryReader class and attempts to get a handle to the
process that is to be read by calls to the ReadMemory method.
If a handle cannot be obtained then an exception is thrown
The process that memory will be read from
Releases resources and closes any process handles that are still open
Provides methods for reading memory from a process's virtual memory
Gets the icon that is at the specified index in the exe, dll or ico file
The exe, dll or ico file to extract the icon from
The zero-based index of the icon to be extracted
Set to True to extract the small version of the icon, usually 16 x 16 in size
Gets a handle to the icon that is at the specified index in the exe, dll or ico file
The exe, dll or ico file to extract the icon from
The zero-based index of the icon to be extracted
Set to True to extract the small version of the icon, usually 16 x 16 in size
Extracts all icons from the specified exe, dll or ico file
The path to the exe, dll or ico file to extract icons from
Set to True to extract the small versions of icons, usually 16 x 16 in size
Provides methods for extracting icons from icon files
Determines whether or not the Operating System is 64 bit
Retrieves the path to the root directory where all user profiles are stored
Installs a font that is available for the current session only, the font will not be available in other sessions and will be lost when the user logs off. Does not require administrator permissions
The full path to the font file to be installed
Removes a font from system font table for the current session only. Does not require administrator permissions
The full path to the font file to be removed
Removes the specified user's profile and all user related settings from the local computer
The fully qualified username to remove the profile for - this cannot be the user that is currently logged on
Renames the local computer and the corresponding domain account if the machine is joined to a domain
The name to rename the computer to
Causes the OS to refresh the list of connected devices - equivelant to doing Scan For Hardware Changes in device manager
Provides methods for interacting with and querying the OS
Creates a new instance of the NativeWindow class and populates each of the properties within, including the Icon property
A handle to the window
The text displayed in the window's title bar
The process that created this window. Can be Nothing
The name of the class that this window belongs to
The icon for the window
Creates a new instance of the NativeWindow class and populates each of the properties within, excluding the Icon property
A handle to the window
The text displayed in the window's title bar
The process that created this window. Can be Nothing
The name of the class that this window belongs to
The text displayed in the window's title bar
A handle to the window
The process that created this window
The name of the class that this window belongs to
The icon that is shown in the top left corner of the window in the title bar
Flashes the window title bar and taskbar item until the window gets focus
Makes the window invisible - the window will no longer be found by methods such as GetTopLevelWindows
Minimizes the window
Maximises the window
Shows the window if it is hidden or restores a minimized/maximized window back to its normal state
Restores the window to its normal state (ie not maximized and not minimized)
Closes the window - will not work if the window is not processing window messages (ie Not Responding)
Returns a list of all child windows of this window
Gets the size in pixels of this window
Makes this window a child of the specified window
The window to make this window a child of
Makes this window a topmost window - it will always be in front of other windows even when it does not have focus
Stops this window from being a topmost window
A string representation of the handle, class name, title and process name for this window
Checks to see if the Handle property of this instance is valid and throws an exception if not
The name of the method calling this method
Only flashes the window's title bar and border, not the window's item/icon on the taskbar
Only flashes the window's item/icon on the taskbar
Flashes both the item on the taskbar and the window itself.
Equivelant to using both FlashTitleBar and FlashTaskbar
Specifies which part of a window should be flashed when used with FlashWindow
Flash until StopFlashWindow is called
Flash until the window has got focus
Specifies when a window should stop flashing
Hides the window
Restores the window to its normal state (not maximized, minimized or hidden)
Maximizes the window
Minimizes the window
Options that can be passed to the ShowWindow method to specify how the window should be shown
Makes the specified window a topmost window - it will always be in front of other windows even when it does not have focus
A handle to the window to make topmost
Makes the specified window a topmost window - it will always be in front of other windows even when it does not have focus
The window to make topmost
Stops the specified window from being a topmost window
The window to stop being topmost
Stops the specified window from being a topmost window
A handle to the window to stop being topmost
Makes the specified window a child of another specified window
The window to be made a child of the parent window
The window to be come the parent of the child window
Gets the currently active window (aka foreground window)
Gets the size of the specified window in pixels.
Note that when a window is minimized its size is changed to the same size as all other minimized windows
A handle to the window to get the size of
Gets the size of the specified window in pixels.
Note that when a window is minimized its size is changed to the same size as all other minimized windows
The full title of the window to get the size of
Looks for a currently open window with the specified title and returns a NativeWindow object representing it.
Use GetWindowFromPartialTitle if you do not know the full title of the window
The title of the window to find
Gets a list of all open windows that have the specified string somewhere in their title
The string to search for in each window's title
Makes a window flash to alert a user that it requires attention
A handle to the window to flash
The part of the window to flash - title bar, taskbar, or both
Determines when the flashing stops
Stops a window from flashing
A handle to the window to stop flashing
Modifies a window's visible state - minimizing, hiding, showing or maximizing the window
A handle to the window that should be modified
The desired change to the windows state
Returns a list of all windows that are child windows of the specified window
A handle to the parent window to enumerate the children of
Returns a list of all visible top level windows
Returns a list of all top level windows, optionally including invisible windows
Returns a NativeWindow instance populated with the relevant window information based on the window handle provided
A handle to the window that this instance should represent
Callback function for the EnumWindows API - this function will be called once for each top level window that is found
Calls GetClassLong if this is a 32 bit process or GetClassLongPtr if this is a 64 bit process
Provides methods and properties for working with external windows
Gets the command line that was used to start a process, including any command line arguments. Only works if both the calling process and target process are x86 (32 bit) processes
The process to get the command line for
Gets a System.Diagnostics.Process object for the process that started the specified process.
Returns Nothing if the parent process is no longer running
The process to get the parent process for
Determines whether or not the specified process is a 32 bit process running on a 64 bit operating system
The process to check
Provides information about processes
The service name
The display name of the service
The ID of the process that this service is running in
The state of the service
Creates a new instance of the NativeService class
The name of the service
The display name of the service
The process ID of the service
A string representation of the service's display name and state
Services that are Start Pending, Stop Pending, Running, Continue Pending, Pause Pending, or Paused
Services that are Stopped
All services
Defines which services are included when enumerating services
The service's state could not be determined
The service is stopped
The service is starting
The service is stopping
The service is running
The service is about to continue
The service is pausing
The service is paused
All possible Windows Service states
Gets a list of Windows Services that are running within a given process
The process to look for services in
Returns a list of all Windows services that are in the specified state on the local computer
Only services that are in this state will be returned
Returns a list of all Windows services that are in the specified state on a remote computer
Only services that are in this state will be returned
The computer to get the list of services from
Removes the specified service from the local computer. The executable file that contains the service code will not be deleted.
If the service is running when this method is called, it will be marked for deletion so will be deleted when it is next stopped.
The name of the service to remove. This is the system name for the service, not the display name
Removes the specified service from the remote computer specified. The executable file that contains the service code will not be deleted.
If the service is running when this method is called, it will be marked for deletion so will be deleted when it is next stopped.
The name of the service to remove. This is the system name for the service, not the display name
The name of the computer to remove the service from
Creates a service on the specified computer and then attempts to start it
The computer to install the service on
The full path to the executable file that this service will run
The system name for the new service
The display name for the new service
How this service should be started when the system boots
The system account that this service should run under
Creates a service on the specified computer and then attempts to start it
The computer to install the service on
The full path to the executable file that this service will run
The system name for the new service
The display name for the new service
How this service should be started when the system boots
The username that this service should run under - the account must have been granted the Log On As Service permission
The password for the account specified in the LogonUsername parameter
Creates a service on the specified computer and then attempts to start it
The computer to install the service on
The full path to the executable file that this service will run
The system name for the new service
The display name for the new service
How this service should be started when the system boots
The system account that this service should run under
Creates a service on the specified computer
The computer to install the service on
The full path to the executable file that this service will run
The system name for the new service
The display name for the new service
How this service should be started when the system boots
The username that this service should run under - the account must have been granted the Log On As Service permission
The password for the account specified in the LogonUsername parameter
Gets a handle to the Service Control Manager (SCM) database with the specified level of access
The computer to connect to the SCM on
The level of access required to the SCM - see http://msdn.microsoft.com/en-us/library/ms685981(v=VS.85).aspx for a list of access levels
Provides methods for working with Windows Services
Startup information for a new process that is to be launched via CreateProcess/CreateProcessAsUser etc
Contains information about a newly created process and its primary thread. Used with the CreateProcess functions
Information about the IPv4 enabled network interfaces in the computer. Used by GetInterfaceInfo
The name and index of an IPv4 enabled network interface. Used by GetInterfaceInfo, IpReleaseAddress and IpRenewAddress
Values returned by the NET functions, such as NetShareAdd and NetJoinDomain
Provides detailed information for a share being created by the NetShareAdd method
Specifies permissions for objects, for example a shared object being created by the NetShareAdd method
Bitmask values for specifying the access mask value in an ACL entry
Values that indicate how the access rights in an EXPLICIT_ACCESS structure apply to the trustee
Indicates whether a TRUSTEE structure is an impersonation trustee
Values that indicate the type of data held in the ptstrName member of the TRUSTEE structure.
Values that indicate the type of trustee identified by a TRUSTEE structure.
Defines access control information for a specified trustee
Identifies the user account, group, or logon session to which an access control entry (ACE) applies
The share name
The share type - specify STYPE_DISKTREE for a folder
A description or comment for the share
Share-level permissions - not supported by Windows so set to 0
The maximum number of connections to this share that should be allowed
Ignored when used with NetShareAdd, so set to 0
The local path to the folder that is to be shared
Share-level password - not supported by Windows so set to Nothing
Used by the NetShareAdd API to specify basic share settings
Used by the CM_Locate_DevNode API
Exit code
Pointer to more information about the process (PEB)
Processor affinity mask
Process priority, e.g 8 = Normal priority, 13 = High priority
Process ID
Process ID of parent process, still available even if parent process has closed
Holds basic information about a process, used by NtQueryInformationProcess function
Used by the SystemParametersInfo API to specify that high contrast mode should be enabled
Contains information about a network resource. Used by the WNetAddConnection2 method
Contains information about a Windows service
Contains information about the current status of a Windows service
The size of this structure
A handle to the window to flash
The flash parameters that specify what to flash and for how long
The number of times to flash the window. 0 = infinite
The length of time between flashes. 0 = OS default
Used to specify parameters for the FlashWindowEx function
Contains power policy settings that are unique to each power scheme
Contains computer power policy settings that are unique to each power scheme on the computer. This structure is part of the POWER_POLICY structure
Contains power policy settings that are unique to each power scheme for a user. This structure is part of the POWER_POLICY structure
Contains information used to set the system power state
Contains global power policy settings that apply to all power schemes
Contains global user power policy settings that apply to all power schemes for a user. This structure is part of the GLOBAL_POWER_POLICY structure
Contains global computer power policy settings that apply to all power schemes for all users. This structure is part of the GLOBAL_POWER_POLICY structure
Contains information about system battery drain policy settings. This structure is part of the GLOBAL_USER_POWER_POLICY structure
Contains the size and item count information retrieved by the SHQueryRecycleBin function
Defines the coordinates of the upper-left and lower-right corners of a rectangle
Specifies the format of a computer name
Retrieves the Remote Desktop Services session that is currently attached to the physical console
Obtains the primary access token of the logged-on user specified by the session ID
A Remote Desktop Services session identifier
If the function succeeds, receives a pointer to the token handle for the logged-on user. Note that you must call the CloseHandle function to close this handle
Creates a new process and its primary thread. The new process runs in the security context of the user represented by the specified token
A handle to the primary token that represents a user. The handle must have the TOKEN_QUERY, TOKEN_DUPLICATE, and TOKEN_ASSIGN_PRIMARY access rights
The name of the module to be executed. The lpApplicationName parameter can be NULL. In that case, the module name must be the first white space–delimited token in the lpCommandLine string
The command line to be executed. The maximum length of this string is 32K characters. The lpCommandLine parameter can be NULL. In that case, the function uses the string pointed to by lpApplicationName as the command line
A pointer to a SECURITY_ATTRIBUTES structure that specifies a security descriptor for the new process object and determines whether child processes can inherit the returned handle to the process. If lpProcessAttributes is NULL or lpSecurityDescriptor is NULL, the process gets a default security descriptor and the handle cannot be inherited
A pointer to a SECURITY_ATTRIBUTES structure that specifies a security descriptor for the new thread object and determines whether child processes can inherit the returned handle to the thread. If lpThreadAttributes is NULL or lpSecurityDescriptor is NULL, the thread gets a default security descriptor and the handle cannot be inherited
If this parameter is TRUE, each inheritable handle in the calling process is inherited by the new process. You cannot inherit handles across sessions. Additionally, if this parameter is TRUE, you must create the process in the same session as the caller
The flags that control the priority class and the creation of the process
A pointer to an environment block for the new process. If this parameter is NULL, the new process uses the environment of the calling process
The full path to the current directory for the process. The string can also specify a UNC path. If this parameter is NULL, the new process will have the same current drive and directory as the calling process
A pointer to a STARTUPINFO or STARTUPINFOEX structure
A pointer to a PROCESS_INFORMATION structure that receives identification information about the new process
Frees environment variables created by the CreateEnvironmentBlock function
Pointer to the environment block created by CreateEnvironmentBlock. The environment block is an array of null-terminated Unicode strings
Retrieves the environment variables for the specified user. This block can then be passed to the CreateProcessAsUser function
When this function returns, receives a pointer to the new environment block. The environment block is an array of null-terminated Unicode strings
Token for the user, returned from the LogonUser function. If this is a primary token, the token must have TOKEN_QUERY and TOKEN_DUPLICATE access. If the token is an impersonation token, it must have TOKEN_QUERY access
Specifies whether to inherit from the current process's environment
Allocates a new console for the calling process
Detaches the calling process from its console
Adds the font resource from the specified file to the system font table. The font can subsequently be used for text output by any application
A valid font file name
Removes the fonts in the specified file from the system font table
A valid font file name
Changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance on the screen. The topmost window receives the highest rank and is the first window in the Z order
A handle to the window.
A handle to the window to precede the positioned window in the Z order
The new position of the left side of the window, in client coordinates
The new position of the top of the window, in client coordinates
The new width of the window, in pixels
The new height of the window, in pixels
The window sizing and positioning flags
Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen
A handle to the window
A pointer to a RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window
Deletes the user profile and all user-related settings from the specified computer. The caller must have administrative privileges to delete a user's profile
Pointer to a string that specifies the user SID
Pointer to a string that specifies the profile path. If this parameter is NULL, the function obtains the path from the registry
Pointer to a string that specifies the name of the computer from which the profile is to be deleted. If this parameter is NULL, the local computer name is used
Sets a new NetBIOS or DNS name for the local computer. Name changes made by SetComputerNameEx do not take effect until the user restarts the computer
The type of name to be set
The new name. The name cannot include control characters, leading or trailing spaces
The NetRenameMachineInDomain function changes the name of a computer in a domain
A pointer to a constant string that specifies the DNS or NetBIOS name of the computer on which to call the function. If this parameter is NULL, the local computer is used
A pointer to a constant string that specifies the new name of the computer. If specified, the local computer name is changed as well. If this parameter is NULL, the function assumes you have already called the SetComputerNameEx function
A pointer to a constant string that specifies an account name to use when connecting to the domain controller. If this parameter is NULL, the caller's context is used
f the lpAccount parameter specifies an account name, this parameter must point to the password to use when connecting to the domain controller. Otherwise, this parameter must be NULL
he rename options. If this parameter is NETSETUP_ACCT_CREATE, the function renames the account in the domain
Retrieves the size of the Recycle Bin and the number of items in it, for a specified drive
The address of a null-terminated string of maximum length MAX_PATH to contain the path of the root drive on which the Recycle Bin is located
The address of a SHQUERYRBINFO structure that receives the Recycle Bin information. The cbSize member of the structure must be set to the size of the structure before calling this API
Empties the Recycle Bin on the specified drive
A handle to the parent window of any dialog boxes that might be displayed during the operation. This parameter can be NULL
The address of a null-terminated string of maximum length MAX_PATH that contains the path of the root drive on which the Recycle Bin is located
One or more of the following values: SHERB_NOCONFIRMATION, SHERB_NOPROGRESSUI, SHERB_NOSOUND
Retrieves the path to the root directory where all user profiles are stored
Pointer to the buffer that receives the path to the profiles directory. Set this value to NULL to determine the required size of the buffer
Specifies the size of the lpProfilesDir buffer, in TCHARs
Enumerates all power schemes. For each power scheme enumerated, the function calls a callback function with information about the power scheme
A pointer to a callback function to be called for each power scheme enumerated
A user-defined value to be passed to the callback function
Callback used by the EnumPwrSchemes API
Power scheme index
Size of the sName string, in bytes
Name of the power scheme
Size of the sDesc string, in bytes
Description string
Receives the power policy
User defined value
Sets the active power scheme
he index of the power scheme to be activated
A pointer to an optional GLOBAL_POWER_POLICY structure, which provides global power policy settings to be merged with the power scheme when it becomes active
A pointer to an optional POWER_POLICY structure, which provides power policy settings to be merged with the power scheme when it becomes active
Retrieves the index of the active power scheme
A pointer to a variable that receives the index of the active power scheme
Retrieves a handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows. This function does not perform a case-sensitive search
The class name or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero
The window name (the window's title). If this parameter is NULL, all window names match
Retrieves a handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the specified child window. This function does not perform a case-sensitive search
A handle to the parent window whose child windows are to be searched
A handle to a child window. The search begins with the next child window in the Z order. The child window must be a direct child window of hwndParent, not just a descendant window
The class name or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be placed in the low-order word of lpszClass; the high-order word must be zero
The window name (the window's title). If this parameter is NULL, all window names match
Deletes a windows service
A handle to the service to be deleted
Starts a windows service
A hanlde to the service to be started
The number of strings in the lpServiceArgVectors array. If lpServiceArgVectors is NULL, this parameter can be zero
The null-terminated strings to be passed to the ServiceMain function for the service as arguments. If there are no arguments, this parameter can be NULL
Opens an existing service
A handle to the service control manager database
The name of the service to be opened
The access to the service
Creates a service object and adds it to the specified service control manager database
A handle to the service control manager database
The name of the service to install. The maximum string length is 256 characters
The display name to be used by user interface programs to identify the service. This string has a maximum length of 256 characters
The access to the service
The service type
The service start options
The severity of the error, and action taken, if this service fails to start
The fully-qualified path to the service binary file. If the path contains a space, it must be quoted so that it is correctly interpreted
The names of the load ordering group of which this service is a member. Specify NULL or an empty string if the service does not belong to a group
A pointer to a variable that receives a tag value that is unique in the group specified in the lpLoadOrderGroup parameter. Specify NULL if you are not changing the existing tag
A pointer to a double null-terminated array of null-separated names of services or load ordering groups that the system must start before this service. Specify NULL or an empty string if the service has no dependencies
he name of the account under which the service should run
The password to the account name specified by the lpServiceStartName parameter
Enumerates services in the specified service control manager database. The name and status of each service are provided,
along with additional data based on the specified information level
A handle to the service control manager database
The service attributes that are to be returned. Use SC_ENUM_PROCESS_INFO to retrieve the name and service status information for each service in the database
The type of services to be enumerated
The state of the services to be enumerated
A pointer to the buffer that receives the status information. The format of this data depends on the value of the InfoLevel parameter
The size of the buffer pointed to by the lpServices parameter, in bytes
A pointer to a variable that receives the number of bytes needed to return the remaining service entries, if the buffer is too small
A pointer to a variable that receives the number of service entries returned
A pointer to a variable that, on input, specifies the starting point of enumeration. You must set this value to zero the first time the EnumServicesStatusEx function is called. On output, this value is zero if the function succeeds
The load-order group name. If this parameter is a string, the only services enumerated are those that belong to the group that has the name specified by the string. If this parameter is an empty string, only services that do not belong to any group are enumerated. If this parameter is NULL, group membership is ignored and all services are enumerated
Establishes a connection to the service control manager on the specified computer and opens the specified service control manager database
The name of the target computer. If the pointer is NULL or points to an empty string, the function connects to the service control manager on the local computer
The name of the service control manager database. This parameter should be set to SERVICES_ACTIVE_DATABASE. If it is NULL, the SERVICES_ACTIVE_DATABASE database is opened by default
The access to the service control manager
Closes a handle to a service control manager or service object
A handle to the service control manager object or the service object to close. Handles to service control manager objects are returned by the OpenSCManager function, and handles to service objects are returned by either the OpenService or CreateService function
Opens an existing local process object
The access to the process object. This access right is checked against the security descriptor for the process
If this value is TRUE, processes created by this process will inherit the handle. Otherwise, the processes do not inherit this handle
The identifier of the local process to be opened
Flashes a window to alert the user that it requires attention
A FLASHWINFO structure that specifies parameters for the flash
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails
A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process
A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails
A pointer to a buffer that receives the contents from the address space of the specified process
The number of bytes to be read from the specified process
A pointer to a variable that receives the number of bytes transferred into the specified buffer. If lpNumberOfBytesRead is NULL, the parameter is ignored
Closes an open object handle
A valid handle to an open object
The GetInterfaceInfo function obtains the list of the network interface adapters with IPv4 enabled on the local system
A pointer to a buffer that specifies an IP_INTERFACE_INFO structure that receives the list of adapters. This buffer must be allocated by the caller
A pointer to a DWORD variable that specifies the size of the buffer pointed to by pIfTable parameter to receive the IP_INTERFACE_INFO structure. If this size is insufficient to hold the IPv4 interface information, GetInterfaceInfo fills in this variable with the required size, and returns an error code of ERROR_INSUFFICIENT_BUFFER
The IpReleaseAddress function releases an IPv4 address previously obtained through the Dynamic Host Configuration Protocol (DHCP)
A pointer to an IP_ADAPTER_INDEX_MAP structure that specifies the adapter associated with the IPv4 address to release
The IpRenewAddress function renews a lease on an IPv4 address previously obtained through Dynamic Host Configuration Protocol (DHCP)
A pointer to an IP_ADAPTER_INDEX_MAP structure that specifies the adapter associated with the IP address to renew
Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. When the reference count reaches zero, the module is unloaded from the address space of the calling process and the handle is no longer valid
A handle to the loaded library module. The LoadLibrary, LoadLibraryEx, GetModuleHandle, or GetModuleHandleEx function returns this handle
Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded
The name of the module. This can be either a library module (a .dll file) or an executable module (an .exe file). The name specified is the file name of the module and is not related to the name stored in the library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file
Loads a string resource from the executable file associated with a specified module, copies the string into a buffer, and appends a terminating null character
A handle to an instance of the module whose executable file contains the string resource. To get the handle to the application itself, call the GetModuleHandle function with NULL
The identifier of the string to be loaded
The buffer is to receive the string
The size of the buffer, in characters. The string is truncated and null-terminated if it is longer than the number of characters specified. If this parameter is 0, then lpBuffer receives a read-only pointer to the resource itself
Gets a handle to a device context (DC) for a specified window or for the entire screen
A handle to the window to get the DC for - pass Nothing to get the DC for the entire screen
Releases a device context (DC)
A handle to the window that the DC is for
A handle to the DC to be released
The NetUnjoinDomain function unjoins a computer from a workgroup or a domain
A pointer to a constant string that specifies the DNS or NetBIOS name of the computer on which the function is to execute. If this parameter is NULL, the local computer is used
A pointer to a constant string that specifies the account name to use when connecting to the domain controller. The string must specify either a domain NetBIOS name and user account (for example, REDMOND\user) or the user principal name (UPN) of the user in the form of an Internet-style login name (for example, "someone@example.com"). If this parameter is NULL, the caller's context is used
If the lpAccount parameter specifies an account name, this parameter must point to the password to use when connecting to the domain controller. Otherwise, this parameter must be NULL
Specifies the unjoin options. If this parameter is NETSETUP_ACCT_DELETE, the account is disabled when the unjoin occurs. Note that this option does not delete the account. Currently, there are no other unjoin options defined
The NetJoinDomain function joins a computer to a workgroup or domain
A pointer to a constant string that specifies the DNS or NetBIOS name of the computer on which to execute the domain join operation. If this parameter is NULL, the local computer is used
A pointer to a constant null-terminated character string that specifies the name of the domain or workgroup to join
Optionally specifies the pointer to a constant null-terminated character string that contains the RFC 1779 format name of the organizational unit (OU) for the computer account. If you specify this parameter, the string must contain a full path, for example, OU=testOU,DC=domain,DC=Domain,DC=com. Otherwise, this parameter must be NULL
A pointer to a constant null-terminated character string that specifies the account name to use when connecting to the domain controller. The string must specify either a domain NetBIOS name and user account (for example, REDMOND\user) or the user principal name (UPN) of the user in the form of an Internet-style login name (for example, "someone@example.com"). If this parameter is NULL, the caller's context is used
If the lpAccount parameter specifies an account name, this parameter must point to the password to use when connecting to the domain controller. Otherwise, this parameter must be NULL
A set of bit flags defining the join options
Logs off the interactive user, shuts down the system, or shuts down and restarts the system. It sends the WM_QUERYENDSESSION message to all applications to determine if they can be terminated
The shutdown type
The reason for initiating the shutdown. This parameter must be one of the system shutdown reason codes
Enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function
A handle to the parent window whose child windows are to be enumerated. If this parameter is NULL, this function is equivalent to EnumWindows
A pointer to an application-defined callback function
An application-defined value to be passed to the callback function
Changes the parent window of the specified child window
A handle to the child window
A handle to the new parent window. If this parameter is NULL, the desktop window becomes the new parent window. If this parameter is HWND_MESSAGE, the child window becomes a message-only window
Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message
A handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST ((HWND)0xffff), the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows
The message to be sent
Additional message-specific information
Additional message-specific information
Retrieves specified information about a window class on a 32 bit OS. Should also be used if the calling
process is a process running on a 64 bit OS in 32 bit emulation mode. Use GetClassLongPtr for native 64 bit processes
A handle to the window
The value to be retrieved - see constants prefixed with GCL_
Retrieves specified information about a window class on a 64 bit OS. If the calling
process is a process running on a 64 bit OS in 32 bit emulation mode then use GetClassLong instead
A handle to the window
The value to be retrieved - see constants prefixed with GCL_
Used by the EnumWindows and EnumChildWindows APIs to specify a callback function that should be called once for each window found
Enumerates all top level windows and calls the specified callback once for each window found
Checks to see if a window is visible
A handle to the window to check the visibility of
Gets the title bar text from the specified window
A handle to the window to get the text from
OUTPUT - the window text will be copied to this object
The maximimum number of characters to get from the window title and copy to the object in the lpString parameter
Gets the number of characters present in a window's title bar text
A handle to the window to get the text length from
Gets the thread and process ID that created a window
A handle to the window to get the thread and process ID for
OUTPUT - The process ID will be copied to this Integer, but only if the Integer passed in is not 0
Gets the class name for a specified window
A handle to the window to get the class name of
OUTPUT - The class name will be stored in this object
The maximum number of characters to copy to the object in the lpClassName parameter
Gets the total size of a disk, the amount of free space available to the current user, and the amount of total free space
The disk to get the total/free space from - can be a UNC path
OUTPUT - amount of free space available to current user is returned in this parameter
OUTPUT - total size is returned in this parameter
OUTPUT - total amount of free space is returned in this parameter
Deletes a connection to a network resource
The name of the connection to delete (e.g drive letter)
If this is a persistent connection set to CONNECT_UPDATE_PROFILE to prevent from being mapped again at next logon
Delete connection even if files from this resource are still open
Creates a connection to a network resource
A NETRESOURCE structure that specifies information about the network resource connection
The password to use for the connection - leave blank to use current user credentials
The username to use for the connection - leave blank to use current user credentials
Bitmask that specifies connection options. For example, whether or not to make the connection persistent
Shares a specified object, using detailed information (incl permissions) to configure the share.
The computer to create the share on
The level of information specified in the Buf parameter - set to 502 for detailed information
An instance of the SHARE_INFO_502 structure that contains the desired settings for the share
OUTPUT - if any parameter errors are encountered then this will show which parameter caused the error
The InitializeSecurityDescriptor function initializes a new security descriptor
A pointer to a SECURITY_DESCRIPTOR structure that the function initializes
The revision level to assign to the security descriptor. This parameter must be SECURITY_DESCRIPTOR_REVISION
The SetEntriesInAcl function creates a new access control list (ACL) by merging new access control or audit control information into an existing ACL structure
The number of EXPLICIT_ACCESS structures in the pListOfExplicitEntries array
A pointer to an array of EXPLICIT_ACCESS structures that describe the access control information to merge into the existing ACL
A pointer to the existing ACL. This parameter can be NULL, in which case, the function creates a new ACL based on the EXPLICIT_ACCESS entries
A pointer to a variable that receives a pointer to the new ACL. If the function succeeds, you must call the LocalFree function to free the returned buffer
The SetSecurityDescriptorDacl function sets information in a discretionary access control list (DACL). If a DACL is already present in the security descriptor, the DACL is replaced
A pointer to the SECURITY_DESCRIPTOR structure to which the function adds the DACL. This security descriptor must be in absolute format, meaning that its members must be pointers to other structures, rather than offsets to contiguous data
A flag that indicates the presence of a DACL in the security descriptor. If this parameter is TRUE, the function sets the SE_DACL_PRESENT flag in the SECURITY_DESCRIPTOR_CONTROL structure and uses the values in the pDacl and bDaclDefaulted parameters. If this parameter is FALSE, the function clears the SE_DACL_PRESENT flag, and pDacl and bDaclDefaulted are ignored
A pointer to an ACL structure that specifies the DACL for the security descriptor. If this parameter is NULL, a NULL DACL is assigned to the security descriptor, which allows all access to the object. The DACL is referenced by, not copied into, the security descriptor
A flag that indicates the source of the DACL. If this flag is TRUE, the DACL has been retrieved by some default mechanism. If FALSE, the DACL has been explicitly specified by a user. The function stores this value in the SE_DACL_DEFAULTED flag of the SECURITY_DESCRIPTOR_CONTROL structure. If this parameter is not specified, the SE_DACL_DEFAULTED flag is cleared
Determines if a security descriptor structure is valid
A pointer to the security descriptor to validate
Retrieves or sets the value of one of the system-wide parameters
The system-wide parameter to be retrieved or set
A parameter whose usage and format depends on the system parameter being queried or set. For more information about system-wide parameters, see the uiAction parameter. If not otherwise indicated, you must specify zero for this parameter
A parameter whose usage and format depends on the system parameter being queried or set. For more information about system-wide parameters, see the uiAction parameter. If not otherwise indicated, you must specify NULL for this parameter
If a system parameter is being set, specifies whether the user profile is to be updated, and if so, whether the WM_SETTINGCHANGE message is to be broadcast to all top-level windows to notify them of the change
Shares a specified object using basic information to configure the share. Returns NET_API_STATUS.NERR_SUCCESS if successful
The computer on which to create the share
The level of information that will be passed in via the buf argument, set to 2 for basic share creation
An instance of the SHARE_INFO_2 structure which has been populated with the desired share settings
If an error is found with one of the previous arguments then the number of the argument will be returned in this value
Gets the UNC path that a network drives is mapped to
The drive letter (followed by a colon) to get the UNC path for
The UNC path will be returned in this parameter
The maximum length of the lpRemoteName parameter
Determines the type of Windows profile being used by the user (Local, Roaming, Temporary etc)
Output parameter
Gets the Hwnd of the currently active window
Shows or hides a specified Window
The Hwnd of the window to show
The command to be sent to the window
Registers a system wide hotkey
The Hwnd of the window that should receive a notification when the hotkey is pressed
A unique ID for the hotkey
The keys that must be pressed when vk is pressed to trigger the hotkey
The key that must be pressed when the keys in fsModifiers are pressed to trigger the hotkey
Removes a system wide hotkey
The Hwnd of the window that the hotkey was registered against
The ID of the hotkey to remove
Refreshes the specified hardware device tree (if this method is passed the root node then this is
equivelant to doing Scan For Hardware Changes in device manager)
Locates a node in the hardware device tree
Retrieves information about a specific process, returns 0 if operation was successful
A handle to the process to get information for
The level of information to retrieve, 0 = basic
OUTPUT An instance of the Basic_Process_Information class that will be populated with information
The size of the ProcessInformation parameter
OUTPUT The amount of data that was written to the object passed in to the ProcessInformation parameter
Extracts an icon from a specified exe, dll or icon file. Call DestroyIcon on handles once finished.
The file to extract the icon from
Specifies the zero-based index of the icon to extract. If this value is –1 and phiconLarge and phiconSmall are both NULL, the function returns the total number of icons in the specified file
Handle to the large version of the icon requested
handle to the small version of the icon requested
Number of icons to extract
Destroys an icon and frees any memory the icon occupied
The handle to the icon to be destroyed
Determines if a process is running on a 64 bit Operating System but in 32 bit emulation mode (WOW64)
A handle to the process to check
Output parameter. A boolean that will be set to True if the process is running in WOW64 mode
Gets a handle to a specified DLL
The module to return a handle for
Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL)
A handle to the DLL to look for the method in
The method to look for
Definitions for native Windows APIs