Skip to content

Commit 6387c4f

Browse files
committed
Remove extra constants and LoadLibrary not in CPython _winapi
Remove 19 constants (WAIT_ABANDONED, CREATE_ALWAYS, CREATE_NEW, OPEN_ALWAYS, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, 8 FILE_FLAG_*, 3 FILE_SHARE_*, NMPWAIT_NOWAIT, NMPWAIT_USE_DEFAULT_WAIT) and LoadLibrary function that are not present in CPython's _winapi module.
1 parent 867ad8a commit 6387c4f

File tree

1 file changed

+3
-31
lines changed

1 file changed

+3
-31
lines changed

crates/vm/src/stdlib/_winapi.rs

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ mod _winapi {
2525
ERROR_NETNAME_DELETED, ERROR_NO_DATA, ERROR_NO_SYSTEM_RESOURCES,
2626
ERROR_OPERATION_ABORTED, ERROR_PIPE_BUSY, ERROR_PIPE_CONNECTED,
2727
ERROR_PRIVILEGE_NOT_HELD, ERROR_SEM_TIMEOUT, GENERIC_READ, GENERIC_WRITE,
28-
STILL_ACTIVE, WAIT_ABANDONED, WAIT_ABANDONED_0, WAIT_OBJECT_0, WAIT_TIMEOUT,
28+
STILL_ACTIVE, WAIT_ABANDONED_0, WAIT_OBJECT_0, WAIT_TIMEOUT,
2929
},
3030
Globalization::{
3131
LCMAP_FULLWIDTH, LCMAP_HALFWIDTH, LCMAP_HIRAGANA, LCMAP_KATAKANA,
@@ -54,36 +54,19 @@ mod _winapi {
5454
COPYFILE2_PROGRESS_PAUSE,
5555
COPYFILE2_PROGRESS_QUIET,
5656
COPYFILE2_PROGRESS_STOP,
57-
CREATE_ALWAYS,
58-
// CreateFile constants
59-
CREATE_NEW,
60-
FILE_ATTRIBUTE_NORMAL,
61-
FILE_FLAG_BACKUP_SEMANTICS,
62-
FILE_FLAG_DELETE_ON_CLOSE,
6357
FILE_FLAG_FIRST_PIPE_INSTANCE,
64-
FILE_FLAG_NO_BUFFERING,
65-
FILE_FLAG_OPEN_REPARSE_POINT,
6658
FILE_FLAG_OVERLAPPED,
67-
FILE_FLAG_POSIX_SEMANTICS,
68-
FILE_FLAG_RANDOM_ACCESS,
69-
FILE_FLAG_SEQUENTIAL_SCAN,
70-
FILE_FLAG_WRITE_THROUGH,
7159
FILE_GENERIC_READ,
7260
FILE_GENERIC_WRITE,
73-
FILE_SHARE_DELETE,
74-
FILE_SHARE_READ,
75-
FILE_SHARE_WRITE,
7661
FILE_TYPE_CHAR,
7762
FILE_TYPE_DISK,
7863
FILE_TYPE_PIPE,
7964
FILE_TYPE_REMOTE,
8065
FILE_TYPE_UNKNOWN,
81-
OPEN_ALWAYS,
8266
OPEN_EXISTING,
8367
PIPE_ACCESS_DUPLEX,
8468
PIPE_ACCESS_INBOUND,
8569
SYNCHRONIZE,
86-
TRUNCATE_EXISTING,
8770
},
8871
System::{
8972
Console::{STD_ERROR_HANDLE, STD_INPUT_HANDLE, STD_OUTPUT_HANDLE},
@@ -96,8 +79,8 @@ mod _winapi {
9679
SEC_LARGE_PAGES, SEC_NOCACHE, SEC_RESERVE, SEC_WRITECOMBINE,
9780
},
9881
Pipes::{
99-
NMPWAIT_NOWAIT, NMPWAIT_USE_DEFAULT_WAIT, NMPWAIT_WAIT_FOREVER,
100-
PIPE_READMODE_MESSAGE, PIPE_TYPE_MESSAGE, PIPE_UNLIMITED_INSTANCES, PIPE_WAIT,
82+
NMPWAIT_WAIT_FOREVER, PIPE_READMODE_MESSAGE, PIPE_TYPE_MESSAGE,
83+
PIPE_UNLIMITED_INSTANCES, PIPE_WAIT,
10184
},
10285
SystemServices::LOCALE_NAME_MAX_LENGTH,
10386
Threading::{
@@ -649,17 +632,6 @@ mod _winapi {
649632
})
650633
}
651634

652-
#[pyfunction]
653-
fn LoadLibrary(path: PyStrRef, vm: &VirtualMachine) -> PyResult<isize> {
654-
let path_wide = path.as_wtf8().to_wide_with_nul();
655-
let handle =
656-
unsafe { windows_sys::Win32::System::LibraryLoader::LoadLibraryW(path_wide.as_ptr()) };
657-
if handle.is_null() {
658-
return Err(vm.new_runtime_error("LoadLibrary failed"));
659-
}
660-
Ok(handle as isize)
661-
}
662-
663635
#[pyfunction]
664636
fn GetModuleFileName(handle: isize, vm: &VirtualMachine) -> PyResult<String> {
665637
let mut path: Vec<u16> = vec![0; MAX_PATH as usize];

0 commit comments

Comments
 (0)