| 196 | |
| 197 | if _mswindows: |
| 198 | class STARTUPINFO: |
| 199 | def __init__(self, *, dwFlags=0, hStdInput=None, hStdOutput=None, |
| 200 | hStdError=None, wShowWindow=0, lpAttributeList=None): |
| 201 | self.dwFlags = dwFlags |
| 202 | self.hStdInput = hStdInput |
| 203 | self.hStdOutput = hStdOutput |
| 204 | self.hStdError = hStdError |
| 205 | self.wShowWindow = wShowWindow |
| 206 | self.lpAttributeList = lpAttributeList or {"handle_list": []} |
| 207 | |
| 208 | def copy(self): |
| 209 | attr_list = self.lpAttributeList.copy() |
| 210 | if 'handle_list' in attr_list: |
| 211 | attr_list['handle_list'] = list(attr_list['handle_list']) |
| 212 | |
| 213 | return STARTUPINFO(dwFlags=self.dwFlags, |
| 214 | hStdInput=self.hStdInput, |
| 215 | hStdOutput=self.hStdOutput, |
| 216 | hStdError=self.hStdError, |
| 217 | wShowWindow=self.wShowWindow, |
| 218 | lpAttributeList=attr_list) |
| 219 | |
| 220 | |
| 221 | class Handle(int): |
no outgoing calls
searching dependent graphs…