Der 4. Parameter muss als Struktur übergeben werden. Dabei darf keinerlei Übersetzung stattfinden. Die Struktur (Error-Code-Variable) ist folgendermassen aufgebaut:
1-4 = 4-Byte Binary Länge des gesamten Puffers
5-8 = 4-Byte Binary Länge des verfügbaren Puffers
9-15 = 7-Byte MSGID (CPF-Nachricht)
16 = Reserve
17-n = Daten zur MSGID

Die Daten werden in EBCDIC zurückgegeben.
Um den Parameter korrekt zu übergeben musst du als Parameter-Typ adBinary wählen und die Struktur vorher entsprechend aufbereiten.

Besser für den Aufruf von Programmen (incl. ASCII-EBCDIC-Wandlung) ist das CWBX-OCX mit Struktur-/String-/Long-Konvertern.

Wenn du Fehler ignorieren willst (dann allerdings ohne Kontrolle, ob das Kennwort tatsächlich geändert wurde) muss der 4. Parameter (adBinary) mit String$(8, vbNullChar) übergeben werden.