QueryInstructionSet
A version of this page is also available for
4/8/2010
This function queries to determine what instruction set is supported in the OS.
Syntax
BOOL QueryInstructionSet(
DWORD dwInstructionSet,
LPDWORD lpdwCurrentInstructionSet
);
Parameters
dwInstructionSet
[in] The instruction set that will be queried to determine if it is supported by the currently running OS. The following table shows possible values.Note
Windows Mobile only supports processors based on the ARM architecture.
Value Description Floating point hardware Floating point emulation PROCESSOR_ARM_V4_INSTRUCTION
ARM V4 instruction set.
No
Yes
PROCESSOR_ARM_V4FP_INSTRUCTION
ARM V4 instruction set.
Yes
No
PROCESSOR_ARM_V4I_INSTRUCTION
ARM V4 with Thumb instruction set.
No
Yes
PROCESSOR_ARM_V4IFP_INSTRUCTION
ARM V4 with Thumb instruction set.
Yes
No
PROCESSOR_ARM_V4T_INSTRUCTION
ARM V4 with Thumb instruction set.
No
Yes
PROCESSOR_ARM_V4TFP_INSTRUCTION
ARM V4 with Thumb instruction set.
Yes
No
PROCESSOR_QUERY_INSTRUCTION
Request to have the current instruction set reported to the caller.
No
No
- lpdwCurrentInstructionSet
[out] Returns the current instruction set supported by the OS.
Return Value
TRUE indicates that the instruction set passed in through dwInstructionSet is supported by the current OS or that dwInstructionSet is set to PROCESSOR_QUERY_INSTRUCTION. The lpdwCurrentInstructionSet parameter is then set to the current instruction set supported.
FALSE indicates that the instructions set is not supported or the dwInstructionSet value is unknown.
Remarks
This function can be used by any application that needs to determine if the code about to install or run will work on the current OS. The OS knows explicitly what instruction it will run, and therefore informs you if your installation should continue.
The following table shows the instruction set compatibility.
OS instructions set | Supported instruction sets |
---|---|
PROCESSOR_ARM_V4_INSTRUCTION |
PROCESSOR_ARM_V4_INSTRUCTION |
PROCESSOR_ARM_V4FP_INSTRUCTION |
PROCESSOR_ARM_V4FP_INSTRUCTION PROCESSOR_ARM_V4_INSTRUCTION |
PROCESSOR_ARM_V4I_INSTRUCTION |
PROCESSOR_ARM_V4I_INSTRUCTION PROCESSOR_ARM_V4T_INSTRUCTION |
PROCESSOR_ARM_V4IFP_INSTRUCTION |
PROCESSOR_ARM_V4IFP_INSTRUCTION PROCESSOR_ARM_V4TFP_INSTRUCTION PROCESSOR_ARM_V4I_INSTRUCTION PROCESSOR_ARM_V4T_INSTRUCTION |
PROCESSOR_ARM_V4T_INSTRUCTION |
PROCESSOR_ ARM_V4I_INSTRUCTION PROCESSOR_ARM_V4T_INSTRUCTION |
PROCESSOR_ARM_V4TFP_INSTRUCTION |
PROCESSOR_ARM_V4TFP_INSTRUCTION PROCESSOR_ARM_V4IFP_INSTRUCTION PROCESSOR_ARM_V4I_INSTRUCTION PROCESSOR_ARM_V4T_INSTRUCTION |
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |