Functions and CALL Routines

CALL POKE Routine



Writes a value directly into memory on a 32-bit platform
Category: Special
Restriction: Use on 32-bit platforms only.

Syntax
Arguments
Details
See Also

Syntax

CALL POKE(source,pointer<,length>);

Arguments

source

specifies a SAS expression that contains a value to write into memory.

pointer

specifies a numeric SAS expression that contains the virtual address of the data that the CALL POKE routine alters.

length

specifies a numeric SAS expression that contains the number of bytes to write from the source to the address that is indicated by pointer. If you omit length, the action that the CALL POKE routine takes depends on whether source is a character value or a numeric value:


Details

CAUTION:
The CALL POKE routine is intended only for experienced programmers in specific cases.

If you plan to use this routine, use extreme care both in your programming and in your typing. Writing directly into memory can cause devastating problems. This routine bypasses the normal safeguards that prevent you from destroying a vital element in your SAS session or in another piece of software that is active at the time.   [cautionend]

If you do not have access to the memory location that you specify, the CALL POKE routine returns an "Invalid argument" error.

You cannot use the CALL POKE routine on 64-bit platforms. If you attempt to use it, SAS writes a message to the log stating that this restriction applies. If you have legacy applications that use CALL POKE, change the applications and use CALL POKELONG instead. You can use CALL POKELONG on both 32-bit and 64-bit platforms.


See Also

Functions:

ADDR Function

PEEK Function

PEEKC Function

space
Previous Page | Next Page | Top of Page