Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
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 dwInstructionSetis supported by the current OS or that dwInstructionSetis set to PROCESSOR_QUERY_INSTRUCTION. The lpdwCurrentInstructionSetparameter is then set to the current instruction set supported.

FALSE indicates that the instructions set is not supported or the dwInstructionSetvalue 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

See Also