Win32Handle.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 22 Sep 2015 16:28:42 +0100
branchjv
changeset 18759 c1217211909c
parent 18011 deb0c3355881
permissions -rw-r--r--
Changed identification strings to contain jv-branch ...to make explicit that this distribution is not the official one used by eXept and therefore that eXept is not to be blamed in case of any problem.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
10340
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
     3
	      All Rights Reserved
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
OSHandle subclass:#Win32Handle
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:''
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'OS-Windows'
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    21
!Win32Handle primitiveDefinitions!
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    22
%{
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    23
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    24
#include "stxOSDefs.h"
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    25
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    26
/*
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    27
 * ensure that ST/X runs on NT, 95 and 98
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    28
 * (however, this disables some Win2K and XP features (sigh)
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    29
 */
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    30
#ifndef WINVER
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    31
# define WINVER 0x0400
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    32
#endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    33
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    34
#if WINVER < 0x0400
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    35
# define NO_GETADAPTERSINFO
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    36
#endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    37
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    38
#define WANT_OLE
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    39
#define OLE_DEBUG
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    40
#define COBJMACROS
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    41
#define CINTERFACE
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    42
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    43
#define USE_H_ERRNO
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    44
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    45
# if defined(i386) || defined(__i386__)
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    46
#  ifndef _X86_
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    47
#   define _X86_
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    48
#  endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    49
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    50
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    51
/*
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    52
 * notice: although many systems' include files
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    53
 * already block against multiple inclusion, some
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    54
 * do not. Therefore, this is done here again.
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    55
 * (it does not hurt)
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    56
 */
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    57
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    58
# undef INT
14644
e5f19ef20dcd mingw changes
Claus Gittinger <cg@exept.de>
parents: 13743
diff changeset
    59
# undef UINT
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    60
# undef Array
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    61
# undef Number
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    62
# undef Method
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    63
# undef Point
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    64
# undef Rectangle
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    65
# undef Block
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    66
# undef String
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    67
# undef Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    68
# undef Object
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    69
# undef Context
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    70
# undef Time
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    71
# undef Date
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    72
# undef Set
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    73
# undef Signal
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    74
# undef Delay
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    75
# undef Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    76
# undef Process
10340
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
    77
# undef Processor
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    78
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    79
# include <stdarg.h> /* */
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    80
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    81
# ifndef WINDOWS_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    82
#  define WINDOWS_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    83
#  include <windows.h>
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    84
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    85
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    86
# ifdef WANT_OLE
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    87
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    88
#if 0
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    89
#  ifndef COMDEF_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    90
#   define COMDEF_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    91
#   include <comdef.h>
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    92
#  endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    93
#endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    94
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    95
#  ifndef OLEAUTO_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    96
#   define OLEAUTO_H_INCLUDED
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    97
#   include <oleauto.h>
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    98
#  endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
    99
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   100
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   101
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   102
# ifdef __DEF_Array
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   103
#  define Array __DEF_Array
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   104
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   105
# ifdef __DEF_Number
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   106
#  define Number __DEF_Number
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   107
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   108
# ifdef __DEF_Method
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   109
#  define Method __DEF_Method
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   110
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   111
# ifdef __DEF_Point
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   112
#  define Point __DEF_Point
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   113
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   114
# ifdef __DEF_Rectangle
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   115
#  define Rectangle __DEF_Rectangle
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   116
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   117
# ifdef __DEF_Block
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   118
#  define Block __DEF_Block
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   119
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   120
# ifdef __DEF_String
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   121
#  define String __DEF_String
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   122
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   123
# ifdef __DEF_Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   124
#  define Message __DEF_Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   125
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   126
# ifdef __DEF_Object
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   127
#  define Object __DEF_Object
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   128
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   129
# ifdef __DEF_Context
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   130
#  define Context __DEF_Context
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   131
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   132
# ifdef __DEF_Date
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   133
#  define Date __DEF_Date
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   134
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   135
# ifdef __DEF_Time
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   136
#  define Time __DEF_Time
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   137
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   138
# ifdef __DEF_Set
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   139
#  define Set __DEF_Set
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   140
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   141
# ifdef __DEF_Signal
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   142
#  define Signal __DEF_Signal
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   143
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   144
# ifdef __DEF_Delay
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   145
#  define Delay __DEF_Delay
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   146
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   147
# ifdef __DEF_Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   148
#  define Message __DEF_Message
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   149
# endif
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   150
# ifdef __DEF_Process
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   151
#  define Process __DEF_Process
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   152
# endif
10340
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   153
# ifdef __DEF_Processor
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   154
#  define Processor __DEF_Processor
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   155
# endif
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   156
14644
e5f19ef20dcd mingw changes
Claus Gittinger <cg@exept.de>
parents: 13743
diff changeset
   157
# define INT  STX_INT
e5f19ef20dcd mingw changes
Claus Gittinger <cg@exept.de>
parents: 13743
diff changeset
   158
# define UINT STX_UINT
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   159
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   160
typedef int (*intf)(int);
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   161
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   162
#define _HANDLEVal(o)        (HANDLE)(__externalAddressVal(o))
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   163
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   164
%}
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   165
! !
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   166
9172
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   167
!Win32Handle class methodsFor:'documentation'!
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   168
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   169
copyright
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   170
"
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   171
 COPYRIGHT (c) 2004 by eXept Software AG
10340
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   172
	      All Rights Reserved
9172
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   173
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   174
 This software is furnished under a license and may be used
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   175
 only in accordance with the terms of that license and with the
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   176
 inclusion of the above copyright notice.   This software may not
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   177
 be provided or otherwise made available to, or used by, any
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   178
 other person.  No title to or ownership of the software is
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   179
 hereby transferred.
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   180
"
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   181
!
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   182
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   183
documentation
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   184
"
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   185
    I represent a non-I/O HANDLE.
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   186
"
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   187
! !
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   188
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!Win32Handle methodsFor:'release'!
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
9172
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   191
close
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   192
    "close the handle"
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   193
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   194
    self closeHandle
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   195
!
55600e1aa6d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
   196
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
closeHandle
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    "close the handle"
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
%{
9110
760fff22298b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9107
diff changeset
   201
    HANDLE h = _HANDLEVal(self);
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    if (h) {
10340
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   204
	__externalAddressVal(self) = (HANDLE)0;
d6b6b01525f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9172
diff changeset
   205
	CloseHandle(h);
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    }
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
%}.
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
!
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
finalize
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    "a filedescriptor was garbage collected - close the underlying handle"
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    self closeHandle
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
! !
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
!Win32Handle class methodsFor:'documentation'!
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
version
14644
e5f19ef20dcd mingw changes
Claus Gittinger <cg@exept.de>
parents: 13743
diff changeset
   219
    ^ '$Header: /cvs/stx/stx/libbasic/Win32Handle.st,v 1.9 2013-01-10 11:43:30 cg Exp $'
9107
61894b18644b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
! !