annotate R/rdyncall/demo/Win32PlaySound.R @ 43:1086ca649715

- fixed use after free issue with string handling (keeping strings as copy until after call)
author Tassilo Philipp
date Wed, 15 Apr 2020 21:58:13 +0200
parents 0cfcc391201f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 # Package: rdyncall
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 # File: demo/Win32PlaySound.R
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 # Description: Win32 Demo, playing a wav file (dynbind demo)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 if (.Platform$OS.type == "windows") {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 dynbind("winmm", "PlaySoundA(Zii)v;", callmode="stdcall")
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 tada <- paste( Sys.getenv("SystemRoot"), "\\Media\\tada.wav", sep="" )
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 PlaySoundA(tada,0,0)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 } else {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 cat("This demo is runnable on windows only.")
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14