WinXPでActivePerl Build 5.8.7です。

PerlでSCSIデバイスの情報を知りたくてDLL呼び出しを書いたのですが、

my $SendCmd = new Win32::API('wnaspi32.dll', 'SendASPI32Command', 'P', 'N');
my $sBuff = "\x00" x 58;
my $nHA = $SendCmd->Call($sBuff);

としたら異常終了のダイアログが出てきます。

my $SendCmd = new Win32::API('wnaspi32.dll', 'SendASPI32Command', 'V', 'N');

としたら上記ダイアログは出てこずに終了するのですが、どうも引数が渡されていないっぽいです。
こういう場合DLL呼び出しができないと諦めるしかないんでしょうか?