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