include vmm.inc mov eax, Default ; default value mov esi, OFFSET32 Profile ; points to section name mov edi, OFFSET32 Keyname ; points to entry name jc not_found ; carry flag set if entry not found jz no_value ; zero flag set if entry has no value mov [Value], eax ; entry value is either 0 (false) or -1 (true) |
The Get_Profile_Boolean service returns the value of a Boolean entry in the SYSTEM.INI file. The Profile and Keyname parameters specify the section and entry to search for.
This service is only available during initialization.
Default
Specifies the default value to return if the entry is not found, or has no current value.
Profile
Specifies a null-terminated string identifying the section in the SYSTEM.INI file to search. If Profile is zero, the service searches the [386Enh] section.
Keyname
Points to a null-terminated string identifying the name of the entry to search for.
If the carry and zero flags are clear, the specified entry is found, and is a valid Boolean string. In this case, the EAX register is set to -1 or 0 indicating that the entry value evaluates to true or false, respectively.
If the carry flag is clear and the zero flag is set, the specified entry exists but has no corresponding value. If the carry flag is set, the entry cannot be found or the entry does not represent a Boolean value. In these cases, the EAX register is set to the Default value.
This service returns the Default value unless the value corresponding to the specified entry is a valid Boolean string. A Boolean string can be one of the following:
String | Meaning |
0 | False |
1 | True |
False | False |
N | False |
No | False |
Off | False |
On | True |
True | True |
Y | True |
Yes | True |
Non-English versions of Windows may have language-specific additions to this list.
Flags
Get_Profile_Decimal_Int, Get_Profile_Fixed_Point, Get_Profile_Hex_Int