==== MouGetScaleFact ====
**Bindings**: [[getscalefact#C bindings|C]], [[getscalefact#MASM bindings|MASM]]
This call returns a pair of 1-word scaling factors for the current mouse device. 
//MouGetScaleFact// (ScaleStruct, DeviceHandle) 
//ScaleStruct// (**PSCALEFACT**) - output 
Address of the control block structure that contains the current row and column coordinate scaling factors. The scaling factors must be greater than or equal to 1 
and less than or equal to (32K - 1). 
//rowscale// (**USHORT**) 
Row scaling factor. 
//colscale// (**USHORT**) 
Column scaling factor. 
See [[en:ibm:prcp:mou:setscalefact|MouSetScaleFact]] for more information. 
//DeviceHandle// (**HMOU**) - input 
Contains the handle of the mouse device obtained from a previous [[en:ibm:prcp:mou:open|MouOpen]]. 
//rc// (**USHORT**) - return 
Return code descriptions are: 
|0 |NO_ERROR |
|385 |ERROR_MOUSE_NO_DEVICE |
|466 |ERROR_MOU_DETACHED |
|501 |ERROR_MOUSE_NO_CONSOLE |
|505 |ERROR_MOU_EXTENDED_SG |
**Remarks** 
The units of the scale factor depend on the mode of the display screen for the session. If the screen is operating in text mode, the scaling units are relative to characters. If the screen is 
operating in graphics mode, the scaling units are relative to pels. 
=== C bindings ===
typedef struct _SCALEFACT {   /* mousc */
  USHORT rowScale;            /* row scaling factor */
  USHORT colScale;            /* column coordinate scaling factor */
} SCALEFACT;
#define INCL_MOU
USHORT  rc = MouGetScaleFact(ScaleStruct, DeviceHandle);
PSCALEFACT       ScaleStruct;   /* 2-word structure */
HMOU             DeviceHandle;  /* Mouse device handle */
USHORT           rc;            /* return code */
=== MASM bindings ===
SCALEFACT struc
  mousc_rowScale  dw  ? ;row scaling factor
  mousc_colScale  dw  ? ;column coordinate scaling factor
SCALEFACT ends
EXTRN  MouGetScaleFact:FAR
INCL_MOU            EQU 1
PUSH@  OTHER   ScaleStruct   ;2-word structure
PUSH   WORD    DeviceHandle  ;Mouse device handle
CALL   MouGetScaleFact
Returns WORD