Win32::API::OutputDebugString - Perl wrapper for the OutputDebugString


Win32-API-OutputDebugString documentation Contained in the Win32-API-OutputDebugString distribution.

Index


Code Index:

NAME

Top

Win32::API::OutputDebugString - Perl wrapper for the OutputDebugString on Win32 Platforms =head1 SYNOPSIS

  use Win32::API::OutputDebugString qw(OutputDebugString DStr);
  OutputDebugString("Foo bar", "baz\n"); # sends  Foo barbaz\n to the debugger
  DStr("Foo bar", "baz\n");             # Same

DESCRIPTION

Top

Wrapper for the OutputDebugString Win32 API.

It contains two identical functions (OutputDebugString and DStr) which join their args an send them to the eponymous Win32 Api.

DStr is meant to just save some typing.

EXPORT

None by default.

Exportable functions

Win32::API::OutputDebugString::OutputDebugString

Win32::API::OutputDebugString::DStr

AUTHOR

Top

Alessandro Forghieri alf@orion.it

LICENSE

Top

GPL or Artistic License.

SEE ALSO

Top

The Windows API documentation; perl(1).


Win32-API-OutputDebugString documentation Contained in the Win32-API-OutputDebugString distribution.

package Win32::API::OutputDebugString;

require 5.005_62;
use strict;
use vars qw(*DStr);
use warnings;
use Carp;

require Exporter;
require DynaLoader;
use AutoLoader;

our @ISA = qw(Exporter DynaLoader);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use Win32::API::OutputDebugString ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
	OutputDebugString DStr
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
	
);
our $VERSION = '0.03';

sub AUTOLOAD {
    # This AUTOLOAD is used to 'autoload' constants from the constant()
    # XS function.  If a constant is not found then control is passed
    # to the AUTOLOAD in AutoLoader.

    my $constname;
    our $AUTOLOAD;
    ($constname = $AUTOLOAD) =~ s/.*:://;
    croak "& not defined" if $constname eq 'constant';
    my $val = constant($constname, @_ ? $_[0] : 0);
    if ($! != 0) {
	if ($! =~ /Invalid/ || $!{EINVAL}) {
	    $AutoLoader::AUTOLOAD = $AUTOLOAD;
	    goto &AutoLoader::AUTOLOAD;
	}
	else {
	    croak "Your vendor has not defined Win32::API::OutputDebugString macro $constname";
	}
    }
    {
	no strict 'refs';
	# Fixed between 5.005_53 and 5.005_61
	if ($] >= 5.00561) {
	    *$AUTOLOAD = sub () { $val };
	}
	else {
	    *$AUTOLOAD = sub { $val };
	}
    }
    goto &$AUTOLOAD;
}

bootstrap Win32::API::OutputDebugString $VERSION;

# Preloaded methods go here.
sub OutputDebugString {
    ODS(join('',@_));
}
# Typeglob aliasing....
*DStr= \&OutputDebugString;
# Autoload methods go after =cut, and are processed by the autosplit program.

1;
__END__
# Below is stub documentation for your module. You better edit it!