CeQueryInstructionSet (RAPI)

Send Feedback

The CeQueryInstructionSet function queries a remote Windows CE-based device to determine whether it supports the specified processor-specific instruction set.

BOOL CeQueryInstructionSet(
  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. Setting this parameter to PROCESSOR_QUERY_INSTRUCTION causes the device's current instruction set to be returned in the lpdwCurrentInstructionSet parameter. The following table shows the accepted values for this parameter.

    Value Description Floating point hardware Floating point emulation
    PROCESSOR_X86_32BIT_INSTRUCTION 32bit x86. Yes Yes
    PROCESSOR_MIPS_MIPS16_INSTRUCTION MIPS16 instruction set. No Yes
    PROCESSOR_MIPS_MIPSII_INSTRUCTION MIPS II instruction set. No Yes
    PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION MIPS II instruction set. Yes No
    PROCESSOR_MIPS_MIPSIV_INSTRUCTION MIPS IV instruction set. No Yes
    PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION MIPS IV instruction set. Yes No
    PROCESSOR_HITACHI_SH3_INSTRUCTION Hitachi SH3 instruction set. No Yes
    PROCESSOR_HITACHI_SH3DSP_INSTRUCTION Hitachi SH3 instruction set with built-in digital signal processor (DSP). No No
    PROCESSOR_HITACHI_SH4_INSTRUCTION Hitachi SH4 instruction set. Yes No
    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 Values

Returns nonzero if the instruction set passed in through dwInstructionSet is supported by the current OS. Otherwise, returns zero.

Returns nonzero if dwInstructionSet is set to PROCESSOR_QUERY_INSTRUCTION. The lpdwCurrentInstructionSet parameter is then set to the current instruction set supported.

Returns zero if 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 execute, and therefore will inform you if your installation should continue.

CeQueryInstructionSet will fail on mobile devices running a version of Windows Mobile that is earlier than Windows Mobile Version 5.0. In this case, CeQueryInstructionSet returns zero, and CeRapiGetError returns HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED).

The following table shows the instruction set compatibility.

OS instructions set Supported instruction sets
PROCESSOR_X86_32BIT_INSTRUCTION PROCESSOR_X86_32BIT_INSTRUCTION
PROCESSOR_MIPS_MIPS16_INSTRUCTION PROCESSOR_MIPS_MIPS16_INSTRUCTION PROCESSOR_MIPS_MIPSII_INSTRUCTION
PROCESSOR_MIPS_MIPSII_INSTRUCTION PROCESSOR_MIPS_MIPSII_INSTRUCTION
PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION
PROCESSOR_MIPS_MIPSIV_INSTRUCTION PROCESSOR_MIPS_MIPSIV_INSTRUCTION
PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION
PROCESSOR_HITACHI_SH3_INSTRUCTION PROCESSOR_HITACHI_SH3_INSTRUCTION
PROCESSOR_HITACHI_SH3DSP_INSTRUCTION PROCESSOR_HITACHI_SH3DSP_INSTRUCTION PROCESSOR_HITACHI_SH3_INSTRUCTION
PROCESSOR_HITACHI_SH4_INSTRUCTION PROCESSOR_HITACHI_SH4_INSTRUCTION
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

Pocket PC: Windows Mobile Version 5.0 and later
Smartphone: Windows Mobile Version 5.0 and later
OS Versions: Windows CE 5.01 and later
Header: Rapi.h
Library: Rapi.lib

See Also

Remote API Functions

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.