Notice that returned from the and operations is the offset offset viMemAlloc() viMemAllocEx() address relative to the device’s allocated address base for whichever address space into which the given device exports memory. OBSERVATION 6.4.2 No device is required to have memory that can be shared or managed by the local controller. In this case, a VISA implementation may always return VI_ERROR_NSUP_OPER. RULE 6.4.1 offset viMemAlloc(), viMemAllocEx(), viMemFree(), The parameter in the and viMemFreeEx() operations on a PXI MEMACC resource SHALL be an absolute physical PCI address. 6.4.3 viMemFree(vi, offset) 6.4.4 viMemFreeEx(vi, offset64) Purpose or Free memory previously allocated using viMemAlloc() viMemAllocEx(). Parameters Name Direction Type Description Vi ViSession IN Unique logical identifier to a session. or or IN Specifies the memory previously allocated offset ViBusAddress or offset64 ViBusAddress64 with viMemAlloc() viMemAllocEx(). Return Values Type This is the operational return status. It returns either a ViStatus completion code or an error code as follows. Completion Code Description VI_SUCCESS Operation completed successfully. Error Codes Description VI_ERROR_INV_SESSION The given session or object reference is invalid (both VI_ERROR_INV_OBJECT are the same value). VI_ERROR_NSUP_OPER The given does not support this operation. vi VI_ERROR_INV_OFFSET Invalid offset specified. VI_ERROR_WINDOW_MAPPED The specified offset is currently in use by viMapAddress(). Description or This operation frees the memory previously allocated using viMemAlloc() viMemAllocEx(). Related Items and See the INSTR resource description. Also see viMemAlloc(), viMemAllocEx(). Implementation Requirements RULE 6.4.2
Notice that offset returned from the viMemAlloc() and viMemAllocEx() operations is the offset address relative to the device’s allocated address base for whichever address space into which the given device exports memory. OBSERVATION 6.4.2 No device is required to have memory that can be shared or managed by the local controller. In this case, a VISA implementation may always return VI_ERROR_NSUP_OPER. RULE 6.4.1 The offset parameter in the viMemAlloc(), viMemAllocEx(), viMemFree(), and viMemFreeEx() operations on a PXI MEMACC resource SHALL be an absolute physical PCI address. 6.4.3 viMemFree(vi, offset) 6.4.4 viMemFreeEx(vi, offset64) Purpose Free memory previously allocated using viMemAlloc() or viMemAllocEx(). Parameters Name Direction Type Description Vi IN ViSession Unique logical identifier to a session. offset or offset64 IN ViBusAddress or ViBusAddress64 Specifies the memory previously allocated with viMemAlloc() or viMemAllocEx(). Return Values Type ViStatus This is the operational return status. It returns either a completion code or an error code as follows. Completion Code Description VI_SUCCESS Operation completed successfully. Error Codes Description VI_ERROR_INV_SESSION VI_ERROR_INV_OBJECT The given session or object reference is invalid (both are the same value). VI_ERROR_NSUP_OPER The given vi does not support this operation. VI_ERROR_INV_OFFSET Invalid offset specified. VI_ERROR_WINDOW_MAPPED The specified offset is currently in use by viMapAddress(). Description This operation frees the memory previously allocated using viMemAlloc() or viMemAllocEx(). Related Items See the INSTR resource description. Also see viMemAlloc(), and viMemAllocEx(). Implementation Requirements RULE 6.4.2
vpp43_2016-02-26.docx