Declaration
Automation:
void  ShiftOp ( [in]   IMultiSelection  pSelection, [in]   enum ShiftOpType  type, [in]   enum OperandSizeType  opsize, [in]   uint  bits) ;
Native (C++):
HRESULT  ShiftOp ( [in]   IMultiSelection *  pSelection, [in]   enum ShiftOpType  type, [in]   enum OperandSizeType  opsize, [in]   unsigned long  bits) ;
Parameters
pSelection The multiple selection object which contains ranges for this operation to work on. type The operation to perform. Can be one of the following values:
Operation Type Value Description
ShiftOpLogicalLeft 0 Logical left shift: x[i] <<= operand;
ShiftOpLogicalRight 1 Logical right shift: x[i] >>= operand;
ShiftOpArithmeticLeft 2 Arithmetic left shift (equivalent to ShiftOpLogicalLeft): x[i] <<= operand;
ShiftOpArithemticRight 3 Arithmetic right shift: x[i] >>= operand; // performs sign extension
ShiftOpRotateLeft 4 Rotate left.
ShiftOpRotateRight 5 Rotate right.
opsize Specifies the operand size. Can be one of the following values:
Operand Size Value Description
OperandSizeByte 0 8-bit integer (BYTE)
OperandSizeWord 1 16-bit integer (WORD)
OperandSizeDword 2 32-bit integer (DWORD)
OperandSizeQword 3 64-bit integer (QWORD)
bitsThe number of bits to shift.
Return Value
S_OK or standard OLE error code.
Remarks
Performs a shift operation on a given selection. Complexity: linear-time, depending on selection's complexity.