#! perl -slw use strict; use Encode; use Devel::Peek; use Win32::API::Prototype; ApiLink( 'advapi32', q[ DWORD QueryUsersOnEncryptedFile( LPCWSTR lpFileName, ULONG pUsers ) ]) or die $^E; my $buffer = chr(0) x 4; print Dump( $buffer ); my $pointer = unpack 'L!', pack 'P', $buffer; printf "%08x\n", $pointer; my $uFile = encode( 'UTF-16LE', $_ = $ARGV[ 0 ], 1 ); print $uFile; QueryUsersOnEncryptedFile( $uFile, $pointer ) or die "$! : $^E"; print Dump( \$buffer ); print unpack 'C*',$buffer;