| 3351 | |
| 3352 | |
| 3353 | def GetTempPathW(): |
| 3354 | _GetTempPathW = windll.kernel32.GetTempPathW |
| 3355 | _GetTempPathW.argtypes = [DWORD, LPWSTR] |
| 3356 | _GetTempPathW.restype = DWORD |
| 3357 | |
| 3358 | nBufferLength = _GetTempPathW(0, None) |
| 3359 | if nBufferLength <= 0: |
| 3360 | raise ctypes.WinError() |
| 3361 | lpBuffer = ctypes.create_unicode_buffer("", nBufferLength) |
| 3362 | nCopied = _GetTempPathW(nBufferLength, lpBuffer) |
| 3363 | if nCopied > nBufferLength or nCopied == 0: |
| 3364 | raise ctypes.WinError() |
| 3365 | return lpBuffer.value |
| 3366 | |
| 3367 | |
| 3368 | GetTempPath = GuessStringType(GetTempPathA, GetTempPathW) |