Private Declare Sub PutMem2 Lib "msvbvm60" (ByRef Var As Any, ByVal Value As Integer)

Code:
Sub WriteOPC
    '
    Dim Vals(4) As Long ' DHS good for LONGs (VT_I4)
    '
    For i = 1 To 4
        Vals(i) = CLng("SomeNumericValue")
    Next
    '
    ' ...
    '
    ASyncItemValues(1) = CVar(Vals)
    ' hack
    PutMem2 AsyncItemValues(1), CanonDtArray Or CanonDtDWord
    '
    ConnectedGroup.AsyncWrite ItemCount, ASyncItemServerHandles, ASyncItemValues, ASyncItemServerErrors, TransactionID, CancelID
    '
End Sub