@@ -137,6 +137,34 @@ if sys.platform == "win32":
137
137
LCMAP_TRADITIONAL_CHINESE : int
138
138
LCMAP_UPPERCASE : int
139
139
140
+ if sys .version_info >= (3 , 12 ):
141
+ COPYFILE2_CALLBACK_CHUNK_STARTED : Literal [1 ]
142
+ COPYFILE2_CALLBACK_CHUNK_FINISHED : Literal [2 ]
143
+ COPYFILE2_CALLBACK_STREAM_STARTED : Literal [3 ]
144
+ COPYFILE2_CALLBACK_STREAM_FINISHED : Literal [4 ]
145
+ COPYFILE2_CALLBACK_POLL_CONTINUE : Literal [5 ]
146
+ COPYFILE2_CALLBACK_ERROR : Literal [6 ]
147
+
148
+ COPYFILE2_PROGRESS_CONTINUE : Literal [0 ]
149
+ COPYFILE2_PROGRESS_CANCEL : Literal [1 ]
150
+ COPYFILE2_PROGRESS_STOP : Literal [2 ]
151
+ COPYFILE2_PROGRESS_QUIET : Literal [3 ]
152
+ COPYFILE2_PROGRESS_PAUSE : Literal [4 ]
153
+
154
+ COPY_FILE_FAIL_IF_EXISTS : Literal [0x1 ]
155
+ COPY_FILE_RESTARTABLE : Literal [0x2 ]
156
+ COPY_FILE_OPEN_SOURCE_FOR_WRITE : Literal [0x4 ]
157
+ COPY_FILE_ALLOW_DECRYPTED_DESTINATION : Literal [0x8 ]
158
+ COPY_FILE_COPY_SYMLINK : Literal [0x800 ]
159
+ COPY_FILE_NO_BUFFERING : Literal [0x1000 ]
160
+ COPY_FILE_REQUEST_SECURITY_PRIVILEGES : Literal [0x2000 ]
161
+ COPY_FILE_RESUME_FROM_PAUSE : Literal [0x4000 ]
162
+ COPY_FILE_NO_OFFLOAD : Literal [0x40000 ]
163
+ COPY_FILE_REQUEST_COMPRESSED_TRAFFIC : Literal [0x10000000 ]
164
+
165
+ ERROR_ACCESS_DENIED : Literal [5 ]
166
+ ERROR_PRIVILEGE_NOT_HELD : Literal [1314 ]
167
+
140
168
def CloseHandle (__handle : int ) -> None : ...
141
169
@overload
142
170
def ConnectNamedPipe (handle : int , overlapped : Literal [True ]) -> Overlapped : ...
@@ -224,3 +252,6 @@ if sys.platform == "win32":
224
252
def GetOverlappedResult (self , __wait : bool ) -> tuple [int , int ]: ...
225
253
def cancel (self ) -> None : ...
226
254
def getbuffer (self ) -> bytes | None : ...
255
+
256
+ if sys .version_info >= (3 , 12 ):
257
+ def CopyFile2 (existing_file_name : str , new_file_name : str , flags : int , progress_routine : int | None = None ) -> int : ...
0 commit comments