Compare commits

..

160 Commits

Author SHA1 Message Date
hakril 520fa864b8 Disable ARM64 tests until github publish ARM64 github runners 2025-03-07 15:28:54 +01:00
hakril 6c588cf723 Improve thread CONTEXT defitions + ARM64_CONTEXT 2025-03-06 10:30:00 +01:00
hakril 8eb3384fcf Change test exe to msiexec.exe + pop_proc64 force machine AMD64 with PROC_THREAD_ATTRIBUTE_MACHINE_TYPE 2025-02-14 18:52:22 +01:00
hakril b4c0223377 Fix typo in test import 2025-02-14 17:01:00 +01:00
hakril 11665c4608 More xfail for ARM64 -> @cross_heaven_gates 2025-02-14 16:52:04 +01:00
hakril 45b781b96c Still playing with xfail identification for arm64 tests 2025-02-13 20:53:03 +01:00
hakril 83af73a872 Fix tests\test_injection.py 2025-02-12 12:18:38 +01:00
hakril be935b0f68 Improve test marking 2025-02-12 10:26:41 +01:00
hakril 8a14cc5b3a Automatic xfail on python injection for ARM64 target process 2025-02-12 09:51:56 +01:00
hakril 1ad456049a Improve stubborn stability on Windows 17763 2025-02-11 18:24:46 +01:00
hakril 16e10af8d8 Testing ARM64 CI continue-on-error 2025-02-11 17:41:19 +01:00
hakril ebded59c43 More test stability for ARM64 2025-02-11 17:12:22 +01:00
hakril a418035e1e More test stability 2025-02-11 15:37:09 +01:00
hakril e3c6deeee7 Fix hang in test_getset_syswow_context on ARM64 2025-02-11 14:37:44 +01:00
hakril d4952e21ba More arm64 heaven gate NotImplementedError() 2025-02-11 14:03:35 +01:00
hakril fc0c81eb70 Fix pe parsing for section with 8bytes name 2025-02-11 10:37:00 +01:00
hakril bd52b1a5a3 More tests adaptation for arm64 2025-02-10 15:26:41 +01:00
hakril 064b22f99e Still improving tests for ARM64 2025-02-10 10:01:55 +01:00
hakril 909669321b Improve pipe tests stability / error trigger 2025-02-10 08:50:08 +01:00
hakril 405616290f Improve test_pe fixture stability 2025-02-08 19:44:39 +01:00
hakril a93c9b7f11 Fix typo 2025-02-08 19:31:45 +01:00
hakril 06b96e65d0 More NotImplementedError for ARM64 2025-02-08 13:12:05 +01:00
hakril b51a6e1808 Adding CreateRemoteThreadEx definition 2025-02-07 13:39:00 +01:00
hakril 26b42a0587 Adding ctypes_generation for PROC_THREAD_ATTRIBUTE_X 2025-02-06 22:53:42 +01:00
hakril 13f2993cf1 Fix tests for older python 2025-02-06 21:59:44 +01:00
hakril 4113d8ad3f Reactivate full intel. Check we broke nothing 2025-02-06 21:02:46 +01:00
hakril 75f1121182 more arm64 CI tests 2025-02-05 23:14:41 +01:00
hakril 5c25e333e6 Full test suite on arm64 for the lol 2025-02-05 22:57:18 +01:00
hakril 54b518ca5f More x86->arm64 limitation exploration 2025-02-05 22:52:06 +01:00
hakril d094fb8209 More limitation identification for x86 on arm64 heaven gate 2025-02-05 22:40:12 +01:00
hakril 017867d79d Fox typo 2025-02-05 22:30:51 +01:00
hakril e58d80c3c5 More raise NotImplementedError on x86 -> arm64 heaven gate 2025-02-05 22:24:40 +01:00
hakril d7ff43a829 Working on expliciting limitation of x86-on-arm64 NotImplementedError 2025-02-05 22:09:02 +01:00
hakril 013c35bf40 Improve sample\find_value.py to search in Enums 2025-02-05 22:05:58 +01:00
hakril 6a54bca39a Fix process.py simple_arm64 import 2025-02-04 20:02:43 +01:00
hakril 2a1217e7b8 Implem current_thread.teb for ARM64 + recognize ARM64 PE in pe_parse 2025-02-04 20:00:58 +01:00
hakril 6ade13d6bb Fix pytest commandline 2025-02-03 13:53:18 +01:00
hakril b1d2d5719b Improve range of arm64 testing 2025-02-03 13:47:08 +01:00
hakril 5352013a8f Fix tests/test_simple_arm64.py error when capstone is not installed 2025-02-03 13:36:32 +01:00
hakril bce15d0d3c simple_arm64.Mov(reg, reg) that redirect to Orr(reg, zero, reg) 2025-02-03 09:11:01 +01:00
hakril 1889899535 Readd RtlGetCurrentPeb lost in rebase 2025-02-02 19:28:16 +01:00
hakril 1bc7818552 Still playing with simple_arm64 2025-02-02 19:19:28 +01:00
hakril 7c96da8c75 Working on simple_arm64.py 2025-02-02 19:19:28 +01:00
hakril 458a0d0558 First implem of arm64.assemble() 2025-02-02 19:19:28 +01:00
hakril 493fe75be8 arm64: Ret() encoded \o/ time to tests functions calls 2025-02-02 19:19:28 +01:00
hakril a7b6ddedd6 Add generated sources 2025-02-02 19:19:28 +01:00
hakril e7679ecfcf [WIP] simple_arm64 + testsuite 2025-02-02 19:19:12 +01:00
hakril 4e5325c8ea Process.architecture now returns flags 2025-02-02 19:19:12 +01:00
hakril 9b5be5ffd5 more arm testing of process.architecture 2025-02-02 19:19:12 +01:00
hakril 720385d15a Still playing with process.architecture 2025-02-02 19:19:12 +01:00
hakril 2cef60377f Add some ctypes definition 2025-02-02 19:19:12 +01:00
hakril ce13bf08e3 First try at WinProcess.architecture 2025-02-02 19:19:12 +01:00
hakril 8151292042 Adding ctypes defintion associated with process & architecture 2025-02-02 19:19:12 +01:00
hakril 646e55c740 fix typo 2025-02-02 19:18:43 +01:00
hakril 00a2f1a7d6 add utils.image_file_machine_to_processor_architecture() 2025-02-02 19:18:43 +01:00
hakril 2c9a159a81 Add system.architecture & process.architecture 2025-02-02 19:18:43 +01:00
hakril ea6b7b932d arm64: more api tests 2025-02-02 19:16:24 +01:00
hakril 314cd2b862 More arm exploration of api responses 2025-02-02 19:16:24 +01:00
hakril 3a3e6bc931 improve conftest 2025-02-02 19:15:21 +01:00
hakril 234844cf12 Remove breakpoint 2025-02-02 19:15:21 +01:00
hakril 1297996725 New implem of is_wow_64(handle) 2025-02-02 19:15:21 +01:00
hakril 1a9b680fba Added some wow64 definition + created functions/syswow64.txt 2025-02-02 19:15:21 +01:00
hakril e37f87c35c Adapt test_syswow.py for arm exploration 2025-02-02 19:15:21 +01:00
hakril 6eb31e9205 [CI] more arm fun 2025-02-02 19:15:21 +01:00
hakril b22c5d6055 [CI] more arm fun 2025-02-02 19:15:18 +01:00
hakril 458774f1ac [CI] more arm64 tests 2025-02-02 19:10:34 +01:00
hakril fd00e97d80 [CI] Playing/Testing CI on Windows-ARM64 (Fix yml2) 2025-02-02 19:10:33 +01:00
hakril 533cddae97 [CI] Playing/Testing CI on Windows-ARM64 (Fix yml) 2025-02-02 19:10:33 +01:00
hakril 57076b84dd [CI] Playing/Testing CI on Windows-ARM64 2025-02-02 19:10:33 +01:00
hakril 1c498aa0e9 Trying to setup simple ARM64 CI 2025-02-02 19:09:26 +01:00
hakril 7abda41a9d Merge pull request #77 from hakril/improve_testing
Small improvments
2025-02-02 09:56:05 -08:00
hakril 3489a560fb Remove some pytest warning 2025-02-02 18:40:07 +01:00
hakril 6fd32762da Try improving CurrentProcessReadSyswow stability 2025-02-02 16:54:23 +01:00
hakril aab4fdc02d Try new handle method for CurrentProcessReadSyswow 2025-02-02 16:35:16 +01:00
hakril ff4161602c Small improvments 2025-02-02 16:29:05 +01:00
hakril 8932682ba2 Merge pull request #76 from hakril/teb_definition
TEB defintion and `Thread.teb` field
2025-02-02 07:15:21 -08:00
hakril b9d54b3212 Last fix of docstring escape + trying pytest.mark.xfail 2025-02-02 00:20:18 +01:00
hakril 60e3d4a2b2 Update .gitignore 2025-02-02 00:00:32 +01:00
hakril 88b93dd64e More CI tests for PR & double-trigger 2025-02-01 23:37:28 +01:00
hakril 8beb9fa092 Prevent double-trigger in CI 2025-02-01 23:20:42 +01:00
hakril f668288dfc Fix bad escape in some docstrings 2025-02-01 22:44:53 +01:00
hakril 43fd2b3ca4 Update timeout time in tests 2025-02-01 22:27:11 +01:00
hakril f89a24ae48 Add pytest-timeout in CI 2025-02-01 22:12:21 +01:00
hakril d7cf3e0f8b Fix CurrentThread.teb_base being a property and not a fixedproperty 2025-02-01 14:22:02 +01:00
hakril 54be297828 Trying to improve print output when stubborn call fails 2025-02-01 11:55:49 +01:00
hakril 5da27a78d2 Fix badcode in syswo64.py 2025-02-01 11:35:22 +01:00
hakril f7542e686c More teb64 fix 2025-02-01 11:34:09 +01:00
hakril 029f7cba35 More TEB syswow fix 2025-01-31 17:37:07 +01:00
hakril 36c1eb647f Fix WinThread.teb_syswow 2025-01-31 17:13:33 +01:00
hakril 4bbdb538de Add support for remote TEB + tests 2025-01-31 17:00:04 +01:00
hakril 6ccccf7e90 V1 of WinThread.teb 2025-01-31 13:46:11 +01:00
hakril d05801dd46 Regen generated_def 2025-01-31 13:46:11 +01:00
hakril e8930af3ad Restore PEB_LDR_DATA definition to precise one 2025-01-31 13:46:11 +01:00
hakril c6898a429c Add definition of TEB + tests on offset of generated ctypes 2025-01-31 13:46:11 +01:00
hakril 13c28422d4 process improv : bitness based on PVOID size + CurrentProcess.name based on GetProcessImageFileNameW + peb addr based on RtlGetCurrentPeb 2025-01-31 13:46:11 +01:00
hakril 3818bb2e3d Add V1 of ctypes_definition for TEB 2025-01-31 13:46:11 +01:00
hakril 2b64a6d316 Add definition for _TEB 2025-01-31 13:46:11 +01:00
hakril 5d7e074039 Merge pull request #73 from dariushoule/windows_store_interpreter_tweaks
Improved behavior when running under Microsoft Store python interpreters
2025-01-29 00:57:08 -08:00
hakril 929959d2ac Add pull_request as tests.yml CI trigger 2025-01-29 09:23:04 +01:00
hakril 92b3cfcb2b Adapt sample + docs for microsoft-store-python-injection 2025-01-28 19:45:36 +01:00
Darius Houle 082b13112d missed docstring* 2025-01-26 23:46:19 -07:00
Darius Houle 52859d19c4 feedback revisions 2025-01-26 23:38:50 -07:00
hakril 6d621e0716 Merge pull request #74 from hakril/improve_injection_exceptions
Improve injection error reporting
2025-01-26 10:15:46 -08:00
hakril f80c473de0 More sleep for more test stability ? 2025-01-24 10:46:13 +01:00
hakril 98abd731e4 Improve injection.perform_manual_getproc_loadlib_X with error reporting 2025-01-24 10:37:18 +01:00
hakril d0a5dc3c61 more testing 2025-01-24 10:37:18 +01:00
hakril 2644b53563 Adding error reporting for injection via k32 imports 2025-01-24 10:37:18 +01:00
hakril ba704d6525 Improve test on injection: test on suspended processes 2025-01-24 10:37:18 +01:00
hakril 42546483dd Add tests to reproduce setup/errors of #72 2025-01-24 10:37:18 +01:00
hakril 16242d3436 Merge pull request #75 from hakril/new_pebldrdata_def
Improve tests stability + new PEB_LDR_DATA definition
2025-01-24 01:36:02 -08:00
hakril f99dc61bb2 More tests fix stability 2025-01-24 09:47:50 +01:00
hakril ddc9f16e9c More tests fix 2025-01-24 09:30:23 +01:00
hakril ab4a4561a3 Trying to improve stability of test_standard_breakpoint_X_remove 2025-01-24 09:13:01 +01:00
hakril db8d782e3a Update _PEB_LDR_DATA definition with fields known since WinXP 2025-01-24 08:59:37 +01:00
Darius Houle 6715b08ed7 2 test robustness improvements, helpful message on interpreter sandbox error 2025-01-20 12:53:27 -07:00
hakril 217da0d6b1 Merge pull request #71 from hakril/more_ci_setup
Improve Test & CI
2025-01-15 14:50:59 -08:00
hakril 7c0c130eec reduce risk ok test_standard_breakpoint_remove deadlock 2025-01-15 23:36:52 +01:00
hakril 774c35d943 [CI] Trying to test on multiple windows target (2) 2025-01-15 22:59:30 +01:00
hakril b1c147dfaa [CI] Trying to test on multiple windows target 2025-01-15 22:56:42 +01:00
hakril d63731f2d3 Merge pull request #70 from hakril/more_stubborn_tests
More stubborn tests & Implem
2025-01-15 13:52:42 -08:00
hakril 99c28ac035 stubborn: add support for new PRIV_RESOLVER_INFO_17763 seen on 10.0.17763 2025-01-15 22:32:00 +01:00
hakril d6a6e6496a [CI] Test CI on windows 2019 2025-01-13 15:14:16 +01:00
hakril c66b20f0f3 Update readme links with now workflow name 2025-01-10 14:29:59 +01:00
hakril 947093cf5b Merge pull request #69 from hakril/improve_version_name
Improve `windows.system.version_name`
2025-01-10 04:37:05 -08:00
hakril 0c9c7d3f49 Improve system.versionstr + doc + reset CI to windows-latest 2025-01-10 11:41:40 +01:00
hakril 25534c87ca [fix] Trying github CI on server-2025 for test version 2025-01-10 11:26:19 +01:00
hakril 06a986b57e Trying github CI on server-2025 to test version_name 2025-01-10 11:18:21 +01:00
hakril 0a0b96a9ca Fix new version_name to unicode 2025-01-10 11:09:00 +01:00
hakril 766f1f5e0a Improving system.version_number for 10+ by taking build number into account 2025-01-10 11:01:05 +01:00
hakril 57bcbca837 Merge pull request #68 from hakril/small_improvements
Add some ctypes generation + Improve RPCClient error message & error code parsing
2025-01-08 11:21:17 -08:00
hakril 68ea3c3a02 Regenerate ctypes 2025-01-08 19:50:45 +01:00
hakril 9bd9ddbd7a Revert "[TEST] Breaking ctypes generation result for CI test purpose"
This reverts commit 1cb8ad02c9.
2025-01-08 19:40:23 +01:00
hakril d79f7c609a [CI] Fix CI 2025-01-08 19:39:12 +01:00
hakril 22672613a9 [CI] Test that ctypes_generation results can be executed 2025-01-08 19:38:23 +01:00
hakril 1cb8ad02c9 [TEST] Breaking ctypes generation result for CI test purpose 2025-01-08 19:35:25 +01:00
hakril 3428acc580 Add a test for gdef.HRESULT_FACILITY() 2025-01-08 19:33:56 +01:00
hakril ee37178bcf improve RpcClient error reporting in call() 2025-01-08 19:33:29 +01:00
hakril f2a287d818 Add some ctypes generation + HRESULT_FACILITY macro 2025-01-08 19:31:28 +01:00
hakril e69302449c Merge pull request #67 from hakril/ci_ctypes_generation
Add CI tests for ` ctypes_generation\generate.py`
2025-01-08 10:17:28 -08:00
hakril 1f86a8a1c5 Fix broken ctypes generation : duplicate define 2025-01-08 19:09:43 +01:00
hakril 2737a64fd7 Improve github actions 2025-01-08 19:07:26 +01:00
hakril 9163e981fc Add github CI to test .\ctypes_generation\generate.py 2025-01-08 18:57:21 +01:00
hakril 17d4644973 Merge pull request #66 from hakril/multiversion_localthis
Multiversion ORPC call in `RpcClient`
2025-01-08 06:51:37 -08:00
hakril 315ad8ed9e Small refactor in RPCCLient.call() 2025-01-07 19:14:33 +01:00
hakril da0f403507 Update documentation build 2025-01-07 18:29:36 +01:00
hakril 31f7d1c593 Add windows.system.display_version + update version number + doc 2025-01-07 18:23:32 +01:00
hakril 0e9edcf440 Improve AlpcClient/Server __del__ method 2025-01-07 18:23:01 +01:00
hakril 0b0b88a270 more ORPC test : windows iexplore this time 2025-01-07 18:23:01 +01:00
hakril a45ad2b48c Remove breakpoint in test_orpc_network_manager 2025-01-07 18:23:01 +01:00
hakril d535440a44 Add stubborn implementation + first orpc test based on that 2025-01-07 18:23:01 +01:00
hakril 4b034fc0fe Add RpcClient with DCOM capabilities handling multiple versions (localthis/localthat) 2025-01-07 18:23:01 +01:00
hakril c040ec368e Working on multi-version localthis handling 2025-01-07 18:23:01 +01:00
hakril 9a67dca363 Merge pull request #65 from hakril/service_handler
Service handler functions
2024-12-31 05:47:11 -08:00
hakril 9041326d82 Regen documentation 2024-12-31 11:25:05 +01:00
hakril ee2b0e11e5 update version number 2024-12-31 11:11:15 +01:00
hakril 4985f7bba5 update documentation for service 2024-12-31 11:04:10 +01:00
hakril 99d39604df Finishing samples/python_service.py 2024-12-31 10:23:08 +01:00
hakril 196d4dcac4 Add functions implemented by services in ctypes_generation 2024-12-20 09:08:01 +01:00
hakril 9c1c125931 Merge pull request #63 from hakril/fileinfo_ctypesgen
Add some func/struct associated with [Set/Get]FileInformationByHandle
2024-11-08 14:53:06 +01:00
hakril dce802e0f3 Add some func/struct associated with [GS]etFileInformationByHandle 2024-11-08 14:46:48 +01:00
194 changed files with 11995 additions and 5150 deletions
@@ -1,16 +1,32 @@
# V0.1
name: Pytest
on: [push, workflow_dispatch]
on:
push:
branches:
- 'master'
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
generate_ctypes:
runs-on: windows-latest
timeout-minutes: 15
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run:
py .\ctypes_generation\generate.py
- name: Check generated code can execute
run: py -c "import windows.generated_def"
tests:
strategy:
fail-fast: false
matrix:
runs-on: [windows-2019, windows-latest]
python-version: [2.7, 3.6, 3.11]
python-architecture: [x86, x64]
include:
@@ -19,6 +35,10 @@ jobs:
python-architecture: x86
- python-bitness-to-test: 64
python-architecture: x64
# Not a real dependency : but starting tests when ctypes generation is broken is not useful
needs: generate_ctypes
timeout-minutes: 15
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
@@ -59,11 +79,11 @@ jobs:
py -${{ matrix.python-version}}-64 setup.py install
- name: Installing pytest & capstone-windows
run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pip install pytest capstone-windows
run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pip install pytest pytest-timeout capstone-windows
# Testing
- name: Testing
run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pytest --junitxml=junit/test-results.xml -s -k "not known_to_fail" -v tests/
run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pytest --junitxml=junit/test-results.xml -s -v tests/
- name: Publish PyTest Results
uses: EnricoMi/publish-unit-test-result-action/windows@v2
@@ -73,4 +93,36 @@ jobs:
check_name: PyTest Results for ${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}}
secondary_rate_limit_wait_seconds: 90
seconds_between_github_writes: 10
seconds_between_github_reads: 1
seconds_between_github_reads: 1
# tests_arm64:
# needs: generate_ctypes
# timeout-minutes: 15
# runs-on: windows-ARM64
# continue-on-error: true
#
# strategy:
# fail-fast: false
# matrix:
# python-version: [3.11]
# python-architecture: [x86, x64, arm64]
# include:
# # Translate architecture to bitness for py.exe commandline
# - python-bitness-to-test: 32
# python-architecture: x86
# - python-bitness-to-test: 64
# python-architecture: x64
# - python-bitness-to-test: arm64
# python-architecture: arm64
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Listing python versions availables
# run: py -0
#
# - name: Testing PFW execute
# run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -c "import windows; print(windows)"
#
# - name: Arm64 pytests
# run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pytest tests -k "not test_debugger" -v -s -r fEsx
+6 -1
View File
@@ -3,7 +3,12 @@ doctrees
*.inv
*.pickle
*.ignore
*.code-workspace
.vscode/
.cache/
dist/
dist/
build/
docs/BuildDocEnv/
playground/
*egg-info/
+2 -2
View File
@@ -1,6 +1,6 @@
# PythonForWindows
[![Pytest](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml/badge.svg?branch=master)](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml)
[![Pytest](https://github.com/hakril/PythonForWindows/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/hakril/PythonForWindows/actions/workflows/tests.yml)
PythonForWindows (PFW) is a base of code aimed to make interaction with `Windows` (on X86/X64) easier (for both 32 and 64 bits Python).
Its goal is to offer abstractions around some of the OS features in a (I hope) pythonic way.
@@ -39,7 +39,7 @@ python setup.py install
## Encoding & unicode
PythonForWindows support `python2.7` & `python3` and is currently tested for `Python2.7`, `3.6` & `3.11` via [Github Workflow](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml)
PythonForWindows support `python2.7` & `python3` and is currently tested for `Python2.7`, `3.6` & `3.11` via [Github Workflow](https://github.com/hakril/PythonForWindows/actions/workflows/tests.yml)
Since 1.0.0, the code uses "wide APIs" whenever possible and accept/returns python3 `str` (py2.7 `unicode` type) almost everywhere. Any functions/APIs not accepting unicode string can be considered a bug if its not stated explicitly in the documentation.
@@ -26,4 +26,8 @@
#define SORF_OXRES7 ( 0x400 )
#define SORF_OXRES8 ( 0x800 )
#define SORF_NULL ( 0 )
#define SORF_NOPING ( 0x1000 )
#define SORF_NOPING ( 0x1000 )
#define UNIQUE_FLAG_PADDING 2
#define MAINHDRSIG 0x414E554B
#define ENTRYHDRSIG 0x494E414E
@@ -2,4 +2,22 @@
#define ERROR_SEVERITY_SUCCESS 0x00000000
#define ERROR_SEVERITY_INFORMATIONAL 0x40000000
#define ERROR_SEVERITY_WARNING 0x80000000
#define ERROR_SEVERITY_ERROR 0xC0000000
#define ERROR_SEVERITY_ERROR 0xC0000000
// https://learn.microsoft.com/en-us/windows/win32/com/structure-of-com-error-codes
// Define the facility codes
//
#define FACILITY_WINDOWS 0x8
#define FACILITY_WIN32 0x7
#define FACILITY_STORAGE 0x3
#define FACILITY_RPC 0x1
#define FACILITY_NULL 0x0
#define FACILITY_ITF 0x4
#define FACILITY_DISPATCH 0x2
//
// Define the severity codes
//
#define STATUS_SEVERITY_SUCCESS 0x0
#define STATUS_SEVERITY_COERROR 0x2
@@ -0,0 +1,79 @@
// We have a rare case of defines that depends on an enum
// Which is PROC_THREAD_ATTRIBUTE_NUM
// So i Will just define a copy of those as define here
// Define version copied from: https://github.com/winsiderss/systeminformer/blob/master/phnt/include/ntpsapi.h#L2666
// Thx to them, as always :)
#define ProcThreadAttributeParentProcess 0 // in HANDLE
#define ProcThreadAttributeExtendedFlags 1 // in ULONG (EXTENDED_PROCESS_CREATION_FLAG_*)
#define ProcThreadAttributeHandleList 2 // in HANDLE[]
#define ProcThreadAttributeGroupAffinity 3 // in GROUP_AFFINITY // since WIN7
#define ProcThreadAttributePreferredNode 4 // in USHORT
#define ProcThreadAttributeIdealProcessor 5 // in PROCESSOR_NUMBER
#define ProcThreadAttributeUmsThread 6 // in UMS_CREATE_THREAD_ATTRIBUTES
#define ProcThreadAttributeMitigationPolicy 7 // in ULONG, ULONG64, or ULONG64[2]
#define ProcThreadAttributePackageFullName 8 // in WCHAR[] // since WIN8
#define ProcThreadAttributeSecurityCapabilities 9 // in SECURITY_CAPABILITIES
#define ProcThreadAttributeConsoleReference 10 // BaseGetConsoleReference (kernelbase.dll)
#define ProcThreadAttributeProtectionLevel 11 // in ULONG (PROTECTION_LEVEL_*) // since WINBLUE
#define ProcThreadAttributeOsMaxVersionTested 12 // in MAXVERSIONTESTED_INFO // since THRESHOLD // (from exe.manifest)
#define ProcThreadAttributeJobList 13 // in HANDLE[]
#define ProcThreadAttributeChildProcessPolicy 14 // in ULONG (PROCESS_CREATION_CHILD_PROCESS_*) // since THRESHOLD2
#define ProcThreadAttributeAllApplicationPackagesPolicy 15 // in ULONG (PROCESS_CREATION_ALL_APPLICATION_PACKAGES_*) // since REDSTONE
#define ProcThreadAttributeWin32kFilter 16 // in WIN32K_SYSCALL_FILTER
#define ProcThreadAttributeSafeOpenPromptOriginClaim 17 // in SE_SAFE_OPEN_PROMPT_RESULTS
#define ProcThreadAttributeDesktopAppPolicy 18 // in ULONG (PROCESS_CREATION_DESKTOP_APP_*) // since RS2
#define ProcThreadAttributeBnoIsolation 19 // in PROC_THREAD_BNOISOLATION_ATTRIBUTE
#define ProcThreadAttributePseudoConsole 22 // in HANDLE (HPCON) // since RS5
#define ProcThreadAttributeIsolationManifest 23 // in ISOLATION_MANIFEST_PROPERTIES // rev (diversenok) // since 19H2+
#define ProcThreadAttributeMitigationAuditPolicy 24 // in ULONG, ULONG64, or ULONG64[2] // since 21H1
#define ProcThreadAttributeMachineType 25 // in USHORT // since 21H2
#define ProcThreadAttributeComponentFilter 26 // in ULONG
#define ProcThreadAttributeEnableOptionalXStateFeatures 27 // in ULONG64 // since WIN11
#define ProcThreadAttributeCreateStore 28 // ULONG // rev (diversenok)
#define ProcThreadAttributeTrustedApp 29
#define ProcThreadAttributeSveVectorLength 30
// Real definition of value usef by API
// From: https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3568
// macro ProcThreadAttributeValue is recoded in python in template.py
// I replace TRUE by True && FALSE by False for native python compat :)
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used with thread creation
#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 // Attribute is input only
#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 // Attribute may be "accumulated," e.g. bitmasks,
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \
ProcThreadAttributeValue (ProcThreadAttributeParentProcess, False, True, False)
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST \
ProcThreadAttributeValue (ProcThreadAttributeHandleList, False, True, False)
#define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY \
ProcThreadAttributeValue (ProcThreadAttributeGroupAffinity, True, True, False)
#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE \
ProcThreadAttributeValue (ProcThreadAttributePreferredNode, False, True, False)
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR \
ProcThreadAttributeValue (ProcThreadAttributeIdealProcessor, True, True, False)
#define PROC_THREAD_ATTRIBUTE_UMS_THREAD \
ProcThreadAttributeValue (ProcThreadAttributeUmsThread, True, True, False)
#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY \
ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, False, True, False)
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \
ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, False, True, False)
#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL \
ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, False, True, False)
#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE \
ProcThreadAttributeValue (ProcThreadAttributePseudoConsole, False, True, False)
#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE \
ProcThreadAttributeValue (ProcThreadAttributeMachineType, False, True, False)
#define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES \
ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, True, True, False)
#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH \
ProcThreadAttributeValue (ProcThreadAttributeSveVectorLength, False, True, False)
@@ -0,0 +1,38 @@
#define PROCESSOR_INTEL_386 386
#define PROCESSOR_INTEL_486 486
#define PROCESSOR_INTEL_PENTIUM 586
#define PROCESSOR_INTEL_IA64 2200
#define PROCESSOR_MIPS_R4000 4000 // incl R4101 & R3910 for Windows CE
#define PROCESSOR_ALPHA_21064 21064
#define PROCESSOR_PPC_601 601
#define PROCESSOR_PPC_603 603
#define PROCESSOR_PPC_604 604
#define PROCESSOR_PPC_620 620
#define PROCESSOR_HITACHI_SH3 10003 // Windows CE
#define PROCESSOR_HITACHI_SH3E 10004 // Windows CE
#define PROCESSOR_HITACHI_SH4 10005 // Windows CE
#define PROCESSOR_MOTOROLA_821 821 // Windows CE
#define PROCESSOR_SHx_SH3 103 // Windows CE
#define PROCESSOR_SHx_SH4 104 // Windows CE
#define PROCESSOR_STRONGARM 2577 // Windows CE - 0xA11
#define PROCESSOR_ARM720 1824 // Windows CE - 0x720
#define PROCESSOR_ARM820 2080 // Windows CE - 0x820
#define PROCESSOR_ARM920 2336 // Windows CE - 0x920
#define PROCESSOR_ARM_7TDMI 70001 // Windows CE
#define PROCESSOR_OPTIL 0x494f // MSIL
#define PROCESSOR_ARCHITECTURE_INTEL 0
#define PROCESSOR_ARCHITECTURE_MIPS 1
#define PROCESSOR_ARCHITECTURE_ALPHA 2
#define PROCESSOR_ARCHITECTURE_PPC 3
#define PROCESSOR_ARCHITECTURE_SHX 4
#define PROCESSOR_ARCHITECTURE_ARM 5
#define PROCESSOR_ARCHITECTURE_IA64 6
#define PROCESSOR_ARCHITECTURE_ALPHA64 7
#define PROCESSOR_ARCHITECTURE_MSIL 8
#define PROCESSOR_ARCHITECTURE_AMD64 9
#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10
#define PROCESSOR_ARCHITECTURE_NEUTRAL 11
#define PROCESSOR_ARCHITECTURE_ARM64 12
#define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 13
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
@@ -1,3 +1,5 @@
/* Specific Access Rights are in <specific_access_right.txt> */
//
// Service trigger types
//
@@ -19,8 +21,6 @@
#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY 4
#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL 5
// Specific Access Rights are in <specific_access_right.txt>
#define SERVICE_RUNS_IN_SYSTEM_PROCESS 0x00000001
@@ -61,9 +61,6 @@ SERVICE_WIN32_OWN_PROCESS)
/* Make a value for the new SERVICE_TYPE_ALL ? */
#define SERVICE_BOOT_START 0x00000000
#define SERVICE_SYSTEM_START 0x00000001
#define SERVICE_AUTO_START 0x00000002
@@ -17,3 +17,26 @@ NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff
def CTL_CODE(DeviceType, Function, Method, Access):
return (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
# https://learn.microsoft.com/en-us/windows/win32/api/winerror/nf-winerror-hresult_facility
# Original MACRO:
# #define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff)
def HRESULT_FACILITY(hr):
return (((hr) >> 16) & 0x1fff)
# https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3562
# Original MACRO:
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
# (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
# ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
# ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
# ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
def ProcThreadAttributeValue(Number, Thread, Input, Additive):
return ((Number & PROC_THREAD_ATTRIBUTE_NUMBER) |
(Thread and PROC_THREAD_ATTRIBUTE_THREAD) |
(Input and PROC_THREAD_ATTRIBUTE_INPUT) |
(Additive and PROC_THREAD_ATTRIBUTE_ADDITIVE))
@@ -0,0 +1,61 @@
// Atrget architecture description
#define CONTEXT_I386 0x00010000 // An old PFW error in case ?
#define CONTEXT_AMD64 0x00100000
#define CONTEXT_ARM 0x00200000
#define CONTEXT_ARM64 0x00400000
#define CONTEXT_i386 0x00010000L // this assumes that i386 and
#define CONTEXT_i486 0x00010000L // i486 have identical context records
#define WOW64_CONTEXT_i386 0x00010000 // this assumes that i386 and
#define WOW64_CONTEXT_i486 0x00010000 // i486 have identical context records
// Not perfect, should be explicitly for an architecture
#define CONTEXT_CONTROL 0x00000001L
#define CONTEXT_INTEGER 0x00000002L
#define CONTEXT_SEGMENTS 0x00000004L
#define CONTEXT_FLOATING_POINT 0x00000008L
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
// WOW64
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP
#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI
#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS
#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | 0x00000008L) // 387 state
#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7
#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | 0x00000020L) // cpu specific extensions
#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS | \
WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS | \
WOW64_CONTEXT_EXTENDED_REGISTERS)
#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | 0x00000040L)
#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
// ARM64
#define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x1L)
#define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x2L)
#define CONTEXT_ARM64_FLOATING_POINT (CONTEXT_ARM64 | 0x4L)
#define CONTEXT_ARM64_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x8L)
#define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x10L)
#define CONTEXT_UNWOUND_TO_CALL 0x20000000
#define CONTEXT_RET_TO_GUEST 0x04000000
#define ARM64_MAX_BREAKPOINTS 8
#define ARM64_MAX_WATCHPOINTS 2
@@ -130,22 +130,6 @@
#define TH32CS_SNAPALL (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE)
#define TH32CS_INHERIT 0x80000000
#define CONTEXT_I386 0x00010000
#define CONTEXT_AMD64 0x00100000
#define CONTEXT_ARM 0x00200000
#define CONTEXT_ARM64 0x00400000
#define CONTEXT_CONTROL 0x00000001L
#define CONTEXT_INTEGER 0x00000002L
#define CONTEXT_SEGMENTS 0x00000004L
#define CONTEXT_FLOATING_POINT 0x00000008L
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
#define PAGE_NOACCESS 0x01
#define PAGE_READONLY 0x02
@@ -100,4 +100,6 @@
#define IMAGE_FILE_MACHINE_AMD64 0x8664
#define IMAGE_FILE_MACHINE_M32R 0x9041
#define IMAGE_FILE_MACHINE_CEE 0xC0EE
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
#define IMAGE_FILE_MACHINE_TARGET_HOST 0x0001 // Useful for indicating we want to interact with the host and not a WoW guest.
@@ -85,3 +85,22 @@ BOOL LockFileEx(
[in] DWORD nNumberOfBytesToLockHigh,
[in, out] LPOVERLAPPED lpOverlapped
);
BOOL SetFileInformationByHandle(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[in] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
BOOL GetFileInformationByHandle(
[in] HANDLE hFile,
[out] LPBY_HANDLE_FILE_INFORMATION lpFileInformation
);
BOOL GetFileInformationByHandleEx(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[out] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
@@ -63,4 +63,23 @@ HMODULE LoadLibraryExW(
BOOL FreeLibrary(
HMODULE hLibModule
);
);
BOOL GetProcessInformation(
[in] HANDLE hProcess,
[in] PROCESS_INFORMATION_CLASS ProcessInformationClass,
LPVOID ProcessInformation,
[in] DWORD ProcessInformationSize
);
BOOL SetProcessInformation(
[in] HANDLE hProcess,
[in] PROCESS_INFORMATION_CLASS ProcessInformationClass,
LPVOID ProcessInformation,
[in] DWORD ProcessInformationSize
);
/* Not documented by seems present since dawn of time (WRK)
I Prefere PVOID as a return value to allow simple cast to PEB subclass in process.py*/
PVOID RtlGetCurrentPeb ();
@@ -267,4 +267,38 @@ BOOL StartServiceCtrlDispatcherA(
BOOL StartServiceCtrlDispatcherW(
SERVICE_TABLE_ENTRYW *lpServiceStartTable
);
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExA(
[in] LPCSTR lpServiceName,
[in] LPHANDLER_FUNCTION_EX lpHandlerProc,
[in, optional] LPVOID lpContext
);
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExW(
[in] LPCWSTR lpServiceName,
[in] LPHANDLER_FUNCTION_EX lpHandlerProc,
[in, optional] LPVOID lpContext
);
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(
[in] LPCSTR lpServiceName,
[in] LPHANDLER_FUNCTION lpHandlerProc
);
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(
[in] LPCWSTR lpServiceName,
[in] LPHANDLER_FUNCTION lpHandlerProc
);
BOOL SetServiceStatus(
[in] SERVICE_STATUS_HANDLE hServiceStatus,
[in] LPSERVICE_STATUS lpServiceStatus
);
BOOL SetServiceBits(
[in] SERVICE_STATUS_HANDLE hServiceStatus,
[in] DWORD dwServiceBits,
[in] BOOL bSetBitsOn,
[in] BOOL bUpdateImmediately
);
@@ -59,4 +59,12 @@ BOOL LookupAccountNameW(
LPWSTR ReferencedDomainName,
LPDWORD cchReferencedDomainName,
PSID_NAME_USE peUse
);
PVOID GetNativeSystemInfo(
[out] LPSYSTEM_INFO lpSystemInfo
);
PVOID GetSystemInfo(
[out] LPSYSTEM_INFO lpSystemInfo
);
@@ -0,0 +1,83 @@
BOOL IsWow64Process(
[in] HANDLE hProcess,
[out] PBOOL Wow64Process
);
BOOL IsWow64Process2(
[in] HANDLE hProcess,
[out] USHORT *pProcessMachine,
[out, optional] USHORT *pNativeMachine
);
HRESULT IsWow64GuestMachineSupported(
[in] USHORT WowGuestMachine,
[out] BOOL *MachineIsSupported
);
UINT GetSystemWow64DirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
UINT GetSystemWow64DirectoryW(
[out] LPWSTR lpBuffer,
[in] UINT uSize
);
UINT GetSystemWow64Directory2A(
[out] LPSTR lpBuffer,
[in] UINT uSize,
[in] WORD ImageFileMachineType
);
UINT GetSystemWow64Directory2W(
[out] LPWSTR lpBuffer,
[in] UINT uSize,
[in] WORD ImageFileMachineType
);
BOOL Wow64DisableWow64FsRedirection(
[out] PVOID *OldValue
);
BOOLEAN Wow64EnableWow64FsRedirection(
BOOLEAN Wow64FsEnableRedirection
);
BOOL Wow64RevertWow64FsRedirection(
[in] PVOID OlValue
);
BOOL Wow64GetThreadContext(
HANDLE hThread,
PWOW64_CONTEXT lpContext
);
BOOL Wow64SetThreadContext(
HANDLE hThread,
WOW64_CONTEXT *lpContext
);
USHORT Wow64SetThreadDefaultGuestMachine(
USHORT Machine
);
DWORD Wow64SuspendThread(
HANDLE hThread
);
NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
_In_ HANDLE hProcess,
_In_ ULONG64 lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG64 nSize,
_Out_ PULONG64 lpNumberOfBytesRead
);
NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
_In_ HANDLE hProcess,
_In_ ULONG64 lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG64 nSize,
_Out_ PULONG64 lpNumberOfBytesWritten
);
@@ -150,6 +150,17 @@ HANDLE WINAPI CreateRemoteThread(
_Out_ LPDWORD lpThreadId
);
HANDLE CreateRemoteThreadEx(
[in] HANDLE hProcess,
[in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] SIZE_T dwStackSize,
[in] LPTHREAD_START_ROUTINE lpStartAddress,
[in, optional] LPVOID lpParameter,
[in] DWORD dwCreationFlags,
[in, optional] LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
[out, optional] LPDWORD lpThreadId
);
BOOL WINAPI CreateProcessA(
__in_opt LPCSTR lpApplicationName,
__inout_opt LPSTR lpCommandLine,
@@ -242,13 +253,6 @@ BOOL WINAPI ReadProcessMemory(
_Out_ SIZE_T *lpNumberOfBytesRead
);
NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
_In_ HANDLE hProcess,
_In_ ULONG64 lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG64 nSize,
_Out_ PULONG64 lpNumberOfBytesRead
);
BOOL WINAPI WriteProcessMemory(
@@ -260,13 +264,7 @@ BOOL WINAPI WriteProcessMemory(
);
NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
_In_ HANDLE hProcess,
_In_ ULONG64 lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG64 nSize,
_Out_ PULONG64 lpNumberOfBytesWritten
);
@@ -518,23 +516,6 @@ BOOL WINAPI DeviceIoControl(
);
BOOL WINAPI Wow64DisableWow64FsRedirection(
_Out_ PVOID *OldValue
);
BOOL WINAPI Wow64RevertWow64FsRedirection(
_In_ PVOID OldValue
);
BOOLEAN WINAPI Wow64EnableWow64FsRedirection(
_In_ BOOLEAN Wow64FsEnableRedirection
);
BOOL WINAPI Wow64GetThreadContext(
_In_ HANDLE hThread,
_Inout_ PWOW64_CONTEXT lpContext
);
BOOL WINAPI SetConsoleCtrlHandler(
_In_opt_ PHANDLER_ROUTINE HandlerRoutine,
_In_ BOOL Add
@@ -669,10 +650,6 @@ DWORD WINAPI GetProcessId(
_In_ HANDLE Process
);
BOOL WINAPI Wow64SetThreadContext(
__in HANDLE hThread,
__in CONST WOW64_CONTEXT *lpContext
);
DWORD WINAPI GetMappedFileNameW (
__in HANDLE hProcess,
@@ -263,6 +263,8 @@ LPSERVICE_MAIN_FUNCTIONA = PVOID
LPSERVICE_MAIN_FUNCTIONW = PVOID
LPOVERLAPPED_COMPLETION_ROUTINE = PVOID
PDNS_QUERY_COMPLETION_ROUTINE = PVOID
LPHANDLER_FUNCTION = PVOID
LPHANDLER_FUNCTION_EX = PVOID
// Will be changed at import time
@@ -253,6 +253,7 @@ typedef struct _PRIV_RESOLVER_INFO_LEGACY
BOOL FoundInROT;
} PRIV_RESOLVER_INFO_LEGACY, *PPRIV_RESOLVER_INFO_LEGACY;
typedef struct _REMOTE_REPLY_SCM_INFO
{
OXID Oxid;
@@ -287,6 +288,31 @@ typedef struct CONTAINERVERSION {
CONTAINER_EXTENT_ARRAY *extensions;
};
typedef struct __MIDL_ILocalObjectExporter_0006 {
ULONG dwTid;
ULONG dwPid;
ULONG dwAuthnHint;
tagCOMVERSION version;
_GUID ipidRemUnknown;
ULONG dwFlags;
tagDUALSTRINGARRAY *psa;
_GUID guidProcessIdentifier;
UINT64 processHostId;
INT clientDependencyBehavior;
HSTRING__ *packageFullName;
HSTRING__ *userSid;
HSTRING__ *appcontainerSid;
} MIDL_ILocalObjectExporter_0006;
typedef struct _PRIV_RESOLVER_INFO_17763 {
UINT64 OxidServer;
tagDUALSTRINGARRAY *pServerORBindings;
MIDL_ILocalObjectExporter_0006 OxidInfo;
UINT64 LocalMidOfRemote;
ULONG DllServerModel;
WCHAR *pwszDllServer;
INT FoundInROT;
} PRIV_RESOLVER_INFO_17763, *PPRIV_RESOLVER_INFO_17763;
typedef struct _MIDL_ILocalObjectExporter_0007 {
ULONG dwTid;
@@ -334,16 +360,6 @@ typedef struct _LOCALTHIS {
PVOID pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
} LOCALTHIS;
typedef struct _LOCALTHIS32 {
DWORD dwFlags;
DWORD dwClientThread;
GUID passthroughTraceActivity;
GUID callTraceActivity;
MIDL_XmitDefs_0001 asyncRequestBlock;
DWORD reserved;
PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
} LOCALTHIS32;
/* LOCALTHAT & sub structures */
typedef struct _MIDL_XmitDefs_0007 {
@@ -406,15 +422,6 @@ typedef struct _LOCALTHAT {
} LOCALTHAT;
typedef struct _LOCALTHAT32 {
UINT64 marshalingSetId;
ULONG reserved;
PVOID32 pAsyncResponseBlock;
PVOID32 containerErrorInformation;
PVOID32 containerPassthroughData;
} LOCALTHAT32;
typedef struct tagORPCTHAT {
ULONG flags;
tagORPC_EXTENT_ARRAY *extensions;
@@ -424,4 +431,35 @@ typedef struct tagORPCTHAT {
typedef struct ORPCTHAT32 {
ULONG flags;
PVOID32 extensions; // tagORPC_EXTENT_ARRAY tagORPC_EXTENT_ARRAY
} ORPCTHAT32;
} ORPCTHAT32;
// From: com\ole32\com\dcomrem\chock.hxx
typedef struct
{
ULONG size; // Number of extents.
ULONG reserved; // Must be zero.
ULONG unique; // Flag to indicate presence of unique_flag array.
ULONG rounded_size; // Actual number of extents.
ULONG unique_flag[UNIQUE_FLAG_PADDING]; // Flags to indicate presense of ORPC_EXTENTs
} WireExtentArray;
typedef struct
{
ULONG rounded_size; // Actual number of extents.
GUID id; // Extension identifier.
ULONG size; // Extension size.
// byte data[]; // Extension data.
} WireExtent;
typedef struct tagMainHeader
{
ULONG Signature;
ULONG Version;
ULONG cPolicies;
ULONG cbBuffer;
ULONG cbSize;
LONG hr;
LONG hrServer;
LONG reserved;
} MainHeader;
@@ -0,0 +1,212 @@
/* Summary of seen version on combase symbols for LOCALTHIS:
Nb fields: 2
6.1.7601.17514 -> 6.2.9200.22376
* 6.1.7601.17514
* 6.1.7601.17514
* 6.2.9200.22376
Nb fields: 4
6.3.9600.17031 -> 6.3.9600.20772
* 6.3.9600.17031
* 6.3.9600.20772
Nb fields: 5
10.0.10240.16384 -> 10.0.15063.2679
* 10.0.10240.16384
* 10.0.10240.20747
* 10.0.10586.0
* 10.0.14393.576
* 10.0.14393.6451
* 10.0.14393.7426
* 10.0.15063.251
* 10.0.15063.1563
* 10.0.15063.2500
* 10.0.15063.2679
Nb fields: 7
10.0.16299.1 -> 10.0.26100.2454
* 10.0.16299.1
* 10.0.16299.15
* 10.0.17134.1
* 10.0.17134.48
* 10.0.17134.2145
* 10.0.17134.2145
* 10.0.17763.1
* 10.0.17763.2931
* 10.0.22621.2792
* 10.0.22621.3958
* 10.0.22621.4111
* 10.0.22621.4541
* 10.0.26100.2454
*/
/* Summary of seen version on combase symbols for LOCALTHAT:
Nb fields: 2
6.3.9600.17031 -> 6.3.9600.20772
* 6.3.9600.17031
* 6.3.9600.17031
* 6.3.9600.17031
* 6.3.9600.20772
Nb fields: 3
10.0.18362.900 -> 10.0.18362.1916
* 10.0.18362.900
* 10.0.18362.900
* 10.0.18362.1016
* 10.0.18362.1916
Nb fields: 4
10.0.10240.16384 -> 10.0.17763.6040
* 10.0.10240.16384
* 10.0.10240.16384
* 10.0.10240.20747
* 10.0.10586.0
* 10.0.14393.576
* 10.0.14393.6451
* 10.0.14393.7426
* 10.0.15063.251
* 10.0.15063.1563
* 10.0.15063.2500
* 10.0.15063.2679
* 10.0.16299.1
* 10.0.16299.15
* 10.0.17134.1
* 10.0.17134.48
* 10.0.17134.2145
* 10.0.17134.2145
* 10.0.17763.1
* 10.0.17763.2931
* 10.0.17763.6040
Nb fields: 5
10.0.19039.1 -> 10.0.26100.2454
* 10.0.19039.1
* 10.0.19041.84
* 10.0.19041.4894
* 10.0.22000.65
* 10.0.22621.2792
* 10.0.22621.3958
* 10.0.22621.4111
* 10.0.22621.4541
* 10.0.26100.2454
* 10.0.26100.2454
*/
/* Seen on 6.2.9200.22376 (win8_ldr_escrow.180222-0941) */
/* also seen on previous version : XP / Win7 / Server 2012 */
typedef struct LOCALTHIS32_NT_62 {
ULONG dwFlags;
ULONG dwClientThread;
};
// NO LOCALTHAT for these previous version as far as I now
/* Seen on 6.3.9600.17031 (winblue_gdr.140221-1952) */
typedef struct __MIDL_XmitDefs_0001_NT_63 {
ULONG size;
ULONG reserved;
UINT64 *pAstaOxids;
};
typedef struct LOCALTHIS32_NT_63 {
ULONG dwFlags;
ULONG dwClientThread;
ULONG reserved;
PVOID32 pTouchedAstaArray;
};
typedef struct LOCALTHAT32_NT_63 {
UINT64 marshalingSetAcknowledgmentOxid;
UINT64 marshalingSetId;
};
/* NT_1607 : combase 10.0.14393.576 from a WS2016 ISO*/
typedef struct __MIDL_XmitDefs_0002_NT_1607 {
ULONG size;
ULONG reserved;
PVOID32 pAstaOxids;
};
typedef struct __MIDL_XmitDefs_0001_NT_1607 {
_GUID asyncOperationId;
UINT64 oxidClientProcessNA;
_GUID originalClientLogicalThreadId;
UINT64 uClientCausalityTraceId;
} MIDL_XmitDefs_0001_NT_1607;
typedef struct _LOCALTHIS32_NT_1607 {
ULONG dwFlags;
ULONG dwClientThread;
MIDL_XmitDefs_0001_NT_1607 asyncRequestBlock;
ULONG reserved;
PVOID32 pTouchedAstaArray;
} LOCALTHIS32_NT_1607;
typedef struct __MIDL_XmitDefs_0007 {
INT pointOfFailure;
HRESULT hrFailure;
ULONG sizeOfMarshaledErrorInfo;
ULONG reserved;
BYTE *pMarshaledErrorInfo;
} MIDL_XmitDefs_0007;
typedef struct __MIDL_XmitDefs_0005 {
ULONG sizeOfMarshaledResults;
ULONG reserved;
BYTE *pMarshaledResults;
} MIDL_XmitDefs_0005;
typedef struct __MIDL_XmitDefs_0008 {
INT outcome;
MIDL_XmitDefs_0005 successDetails;
MIDL_XmitDefs_0007 failureDetails;
} MIDL_XmitDefs_0008;
typedef struct __MIDL_XmitDefs_0010 {
ULONG asyncStatus;
ULONG reserved1;
UINT64 uServerCausalityTraceId;
ULONG reserved2;
PVOID32 *pOutcomeDetails; //__MIDL_XmitDefs_0008
} MIDL_XmitDefs_0010;
typedef struct LOCALTHAT32_NT_1607 {
UINT64 marshalingSetAcknowledgmentOxid;
UINT64 marshalingSetId;
ULONG reserved;
PVOID32 pAsyncResponseBlock;
};
/* ! NT_1607: combase 10.0.14393.576 */
/* */
/* Seen only in 10.0.18362 versions of combase */
typedef struct _LOCALTHAT32_10_1903 {
UINT64 marshalingSetId;
PVOID32 pAsyncResponseBlock;
PVOID32 containerPassthroughData;
} LOCALTHAT32_10_1903;
/* NT 10.22 ? seen on 10.0.22621.1 */
typedef struct _LOCALTHIS32 {
DWORD dwFlags;
DWORD dwClientThread;
GUID passthroughTraceActivity;
GUID callTraceActivity;
MIDL_XmitDefs_0001 asyncRequestBlock;
DWORD reserved;
PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
} LOCALTHIS32;
typedef struct _LOCALTHAT32 {
UINT64 marshalingSetId;
ULONG reserved;
PVOID32 pAsyncResponseBlock;
PVOID32 containerErrorInformation;
PVOID32 containerPassthroughData;
} LOCALTHAT32;
@@ -69,6 +69,35 @@ typedef enum _FILE_INFORMATION_CLASS {
FileMaximumInformation
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
typedef enum _FILE_INFO_BY_HANDLE_CLASS {
FileBasicInfo,
FileStandardInfo,
FileNameInfo,
FileRenameInfo,
FileDispositionInfo,
FileAllocationInfo,
FileEndOfFileInfo,
FileStreamInfo,
FileCompressionInfo,
FileAttributeTagInfo,
FileIdBothDirectoryInfo,
FileIdBothDirectoryRestartInfo,
FileIoPriorityHintInfo,
FileRemoteProtocolInfo,
FileFullDirectoryInfo,
FileFullDirectoryRestartInfo,
FileStorageInfo,
FileAlignmentInfo,
FileIdInfo,
FileIdExtdDirectoryInfo,
FileIdExtdDirectoryRestartInfo,
FileDispositionInfoEx,
FileRenameInfoEx,
FileCaseSensitiveInfo,
FileNormalizedNameInfo,
MaximumFileInfoByHandleClass
} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
typedef enum _IO_PRIORITY_HINT {
IoPriorityVeryLow = 0,
IoPriorityLow = 1,
@@ -193,6 +222,18 @@ typedef struct _FILE_GET_EA_INFORMATION
CHAR EaName[1];
} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;
typedef struct _BY_HANDLE_FILE_INFORMATION {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD dwVolumeSerialNumber;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD nNumberOfLinks;
DWORD nFileIndexHigh;
DWORD nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
typedef struct tagVS_FIXEDFILEINFO {
DWORD dwSignature;
@@ -0,0 +1,24 @@
typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
ProcThreadAttributeParentProcess = 0,
ProcThreadAttributeHandleList = 2,
ProcThreadAttributeGroupAffinity = 3,
ProcThreadAttributePreferredNode = 4,
ProcThreadAttributeIdealProcessor = 5,
ProcThreadAttributeUmsThread = 6,
ProcThreadAttributeMitigationPolicy = 7,
ProcThreadAttributeSecurityCapabilities = 9,
ProcThreadAttributeProtectionLevel = 11,
ProcThreadAttributeJobList = 13,
ProcThreadAttributeChildProcessPolicy = 14,
ProcThreadAttributeAllApplicationPackagesPolicy = 15,
ProcThreadAttributeWin32kFilter = 16,
ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
ProcThreadAttributeDesktopAppPolicy = 18,
ProcThreadAttributePseudoConsole = 22,
ProcThreadAttributeMitigationAuditPolicy = 24,
ProcThreadAttributeMachineType = 25,
ProcThreadAttributeComponentFilter = 26,
ProcThreadAttributeEnableOptionalXStateFeatures = 27,
ProcThreadAttributeTrustedApp = 29,
ProcThreadAttributeSveVectorLength = 30,
} PROC_THREAD_ATTRIBUTE_NUM;
@@ -0,0 +1,124 @@
typedef enum _MEMORY_INFORMATION_CLASS {
MemoryBasicInformation,
MemoryWorkingSetList,
MemorySectionName,
MemoryBasicVlmInformation,
MemoryWorkingSetListEx
} MEMORY_INFORMATION_CLASS;
typedef enum _THREAD_INFORMATION_CLASS {
ThreadBasicInformation,
ThreadTimes,
ThreadPriority,
ThreadBasePriority,
ThreadAffinityMask,
ThreadImpersonationToken,
ThreadDescriptorTableEntry,
ThreadEnableAlignmentFaultFixup,
ThreadEventPair,
ThreadQuerySetWin32StartAddress,
ThreadZeroTlsCell,
ThreadPerformanceCount,
ThreadAmILastThread,
ThreadIdealProcessor,
ThreadPriorityBoost,
ThreadSetTlsArrayAddress,
ThreadIsIoPending,
ThreadHideFromDebugger
} THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
// For NtQueryInformationProcess
typedef enum _PROCESSINFOCLASS {
ProcessBasicInformation = 0,
ProcessQuotaLimits = 1,
ProcessIoCounters = 2,
ProcessVmCounters = 3,
ProcessTimes = 4,
ProcessBasePriority = 5,
ProcessRaisePriority = 6,
ProcessDebugPort = 7,
ProcessExceptionPort = 8,
ProcessAccessToken = 9,
ProcessLdtInformation = 10,
ProcessLdtSize = 11,
ProcessDefaultHardErrorMode = 12,
ProcessIoPortHandlers = 13, // Note: this is kernel mode only
ProcessPooledUsageAndLimits = 14,
ProcessWorkingSetWatch = 15,
ProcessUserModeIOPL = 16,
ProcessEnableAlignmentFaultFixup = 17,
ProcessPriorityClass = 18,
ProcessWx86Information = 19,
ProcessHandleCount = 20,
ProcessAffinityMask = 21,
ProcessPriorityBoost = 22,
ProcessDeviceMap = 23,
ProcessSessionInformation = 24,
ProcessForegroundInformation = 25,
ProcessWow64Information = 26,
ProcessImageFileName = 27,
ProcessLUIDDeviceMapsEnabled = 28,
ProcessBreakOnTermination = 29,
ProcessDebugObjectHandle = 30,
ProcessDebugFlags = 31,
ProcessHandleTracing = 32,
ProcessIoPriority = 33,
ProcessExecuteFlags = 34,
ProcessTlsInformation = 35,
ProcessCookie = 36,
ProcessImageInformation = 37,
ProcessCycleTime = 38,
ProcessPagePriority = 39,
ProcessInstrumentationCallback = 40,
ProcessThreadStackAllocation = 41,
ProcessWorkingSetWatchEx = 42,
ProcessImageFileNameWin32 = 43,
ProcessImageFileMapping = 44,
ProcessAffinityUpdateMode = 45,
ProcessMemoryAllocationMode = 46,
ProcessGroupInformation = 47,
ProcessTokenVirtualizationEnabled = 48,
ProcessOwnerInformation = 49,
ProcessWindowInformation = 50,
ProcessHandleInformation = 51,
ProcessMitigationPolicy = 52,
ProcessDynamicFunctionTableInformation = 53,
ProcessHandleCheckingMode = 54,
ProcessKeepAliveCount = 55,
ProcessRevokeFileHandles = 56,
ProcessWorkingSetControl = 57,
ProcessHandleTable = 58,
ProcessCheckStackExtentsMode = 59,
ProcessCommandLineInformation = 60,
ProcessProtectionInformation = 61,
ProcessMemoryExhaustion = 62,
ProcessFaultInformation = 63,
ProcessTelemetryIdInformation = 64,
ProcessCommitReleaseInformation = 65,
ProcessReserved1Information = 66,
ProcessReserved2Information = 67,
ProcessSubsystemProcess = 68,
ProcessInPrivate = 70,
ProcessRaiseUMExceptionOnInvalidHandleClose = 71,
ProcessSubsystemInformation = 75,
ProcessWin32kSyscallFilterInformation = 79,
ProcessEnergyTrackingState = 82,
MaxProcessInfoClass // MaxProcessInfoClass should always be the last enum
} PROCESSINFOCLASS;
// GetProcessInfo
typedef enum _PROCESS_INFORMATION_CLASS {
ProcessMemoryPriority,
ProcessMemoryExhaustionInfo,
ProcessAppMemoryInfo,
ProcessInPrivateInfo,
ProcessPowerThrottling,
ProcessReservedValue1,
ProcessTelemetryCoverageInfo,
ProcessProtectionLevelInfo,
ProcessLeapSecondInfo,
ProcessMachineTypeInfo, // Map to 0xe6(230) for the syscall NtQueryInformationProcess
ProcessOverrideSubsequentPrefetchParameter,
ProcessMaxOverridePrefetchParameter,
ProcessInformationClassMax
} PROCESS_INFORMATION_CLASS;
@@ -0,0 +1,11 @@
typedef enum _MACHINE_ATTRIBUTES {
UserEnabled = 0x00000001,
KernelEnabled = 0x00000002,
Wow64Container = 0x00000004
} MACHINE_ATTRIBUTES;
typedef struct _PROCESS_MACHINE_INFORMATION {
USHORT ProcessMachine;
USHORT Res0;
MACHINE_ATTRIBUTES MachineAttributes;
} PROCESS_MACHINE_INFORMATION;
@@ -0,0 +1,29 @@
/* Structures that do not depends on anything other that basic type
Simplify structure dependancy file graph
*/
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;
typedef struct _LSA_UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PVOID Buffer; // PVOID to prevent ctypes to automatically read the content of the buffer till a \0
} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;
typedef struct _CLIENT_ID{
HANDLE UniqueProcess;
HANDLE UniqueThread;
} CLIENT_ID, *PCLIENT_ID;
typedef struct _CLIENT_ID64{
ULONG64 UniqueProcess;
ULONG64 UniqueThread;
} CLIENT_ID64, *PCLIENT_ID64;
typedef struct _CLIENT_ID32{
ULONG UniqueProcess;
ULONG UniqueThread;
} CLIENT_ID32, *PCLIENT_ID32;
@@ -67,3 +67,22 @@ typedef enum _COMPUTER_NAME_FORMAT {
ComputerNamePhysicalDnsFullyQualified,
ComputerNameMax
} COMPUTER_NAME_FORMAT;
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId;
struct {
WORD wProcessorArchitecture;
WORD wReserved;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
@@ -0,0 +1,237 @@
/* This is the part of RTL_USER_PROCESS_PARAMETERS that works from XP to Windows 10
http://terminus.rewolf.pl/terminus/structures/ntdll/_RTL_USER_PROCESS_PARAMETERS_x86.html
*/
typedef struct _CURDIR
{
UNICODE_STRING DosPath;
PVOID Handle;
} CURDIR, *PCURDIR;
typedef struct _RTL_DRIVE_LETTER_CURDIR
{
WORD Flags;
WORD Length;
ULONG TimeStamp;
UNICODE_STRING DosPath;
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
typedef struct _RTL_USER_PROCESS_PARAMETERS
{
ULONG MaximumLength;
ULONG Length;
ULONG Flags;
ULONG DebugFlags;
PVOID ConsoleHandle;
ULONG ConsoleFlags;
PVOID StandardInput;
PVOID StandardOutput;
PVOID StandardError;
CURDIR CurrentDirectory;
UNICODE_STRING DllPath;
UNICODE_STRING ImagePathName;
UNICODE_STRING CommandLine;
PVOID Environment;
ULONG StartingX;
ULONG StartingY;
ULONG CountX;
ULONG CountY;
ULONG CountCharsX;
ULONG CountCharsY;
ULONG FillAttribute;
ULONG WindowFlags;
ULONG ShowWindowFlags;
UNICODE_STRING WindowTitle;
UNICODE_STRING DesktopInfo;
UNICODE_STRING ShellInfo;
UNICODE_STRING RuntimeData;
RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
// PEB: Thank to
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa813706(v=vs.85).aspx
// http://blog.rewolf.pl/blog/?p=573
// http://terminus.rewolf.pl/terminus/structures/ntdll/_PEB_combined.html
typedef struct _LDR_DATA_TABLE_ENTRY {
PVOID Reserved1[2];
LIST_ENTRY InMemoryOrderLinks;
PVOID Reserved2[2];
PVOID DllBase;
PVOID EntryPoint;
PVOID SizeOfImage;
UNICODE_STRING FullDllName;
UNICODE_STRING BaseDllName;
PVOID Reserved5[3];
ULONG CheckSum;
ULONG TimeDateStamp;
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
/* Definition of WinXP : Still same base in win11 with some extra field */
typedef struct _PEB_LDR_DATA {
ULONG Length;
BYTE Initialized;
PVOID SsHandle;
_LIST_ENTRY InLoadOrderModuleList;
_LIST_ENTRY InMemoryOrderModuleList;
_LIST_ENTRY InInitializationOrderModuleList;
PVOID EntryInProgress;
// BYTE ShutdownInProgress; // New field
// PVOID ShutdownThreadId; // New field
}PEB_LDR_DATA, *PPEB_LDR_DATA;
typedef union _ANON_PEB_SYSTEM_DEPENDENT_02 {
PVOID FastPebLockRoutine;
PVOID SparePtr1;
PVOID AtlThunkSListPtr;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_03 {
PVOID FastPebUnlockRoutine;
PVOID SparePtr2;
PVOID IFEOKey;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_06 {
PVOID FreeList;
PVOID SparePebPtr0;
PVOID ApiSetMap;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_07 {
PVOID ReadOnlySharedMemoryHeap;
PVOID HotpatchInformation;
PVOID SparePvoid0;
};
typedef union _ANON_PEB_UNION_1 {
PVOID KernelCallbackTable;
PVOID UserSharedInfoPtr;
};
typedef union _ANON_PEB_UNION_2 {
PVOID ImageProcessAffinityMask;
PVOID ActiveProcessAffinityMask;
};
typedef struct _PEB {
BYTE Reserved1[2];
BYTE BeingDebugged;
BYTE Reserved2[1];
PVOID Mutant;
PVOID ImageBaseAddress;
PPEB_LDR_DATA Ldr;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
PVOID SubSystemData;
PVOID ProcessHeap;
PVOID FastPebLock;
_ANON_PEB_SYSTEM_DEPENDENT_02 _SYSTEM_DEPENDENT_02;
_ANON_PEB_SYSTEM_DEPENDENT_03 _SYSTEM_DEPENDENT_03;
PVOID _SYSTEM_DEPENDENT_04;
union {
PVOID KernelCallbackTable;
PVOID UserSharedInfoPtr;
};
DWORD SystemReserved;
DWORD _SYSTEM_DEPENDENT_05;
_ANON_PEB_SYSTEM_DEPENDENT_06 _SYSTEM_DEPENDENT_06;
PVOID TlsExpansionCounter;
PVOID TlsBitmap;
DWORD TlsBitmapBits[2];
PVOID ReadOnlySharedMemoryBase;
_ANON_PEB_SYSTEM_DEPENDENT_07 _SYSTEM_DEPENDENT_07;
PVOID ReadOnlyStaticServerData;
PVOID AnsiCodePageData;
PVOID OemCodePageData;
PVOID UnicodeCaseTableData;
DWORD NumberOfProcessors;
DWORD NtGlobalFlag;
LARGE_INTEGER CriticalSectionTimeout;
PVOID HeapSegmentReserve;
PVOID HeapSegmentCommit;
PVOID HeapDeCommitTotalFreeThreshold;
PVOID HeapDeCommitFreeBlockThreshold;
DWORD NumberOfHeaps;
DWORD MaximumNumberOfHeaps;
PVOID ProcessHeaps;
PVOID GdiSharedHandleTable;
PVOID ProcessStarterHelper;
PVOID GdiDCAttributeList;
PVOID LoaderLock;
DWORD OSMajorVersion;
DWORD OSMinorVersion;
WORD OSBuildNumber;
WORD OSCSDVersion;
DWORD OSPlatformId;
DWORD ImageSubsystem;
DWORD ImageSubsystemMajorVersion;
PVOID ImageSubsystemMinorVersion;
union {
PVOID ImageProcessAffinityMask;
PVOID ActiveProcessAffinityMask;
};
PVOID GdiHandleBuffer[26];
BYTE GdiHandleBuffer2[32];
PVOID PostProcessInitRoutine;
PVOID TlsExpansionBitmap;
DWORD TlsExpansionBitmapBits[32];
PVOID SessionId;
ULARGE_INTEGER AppCompatFlags;
ULARGE_INTEGER AppCompatFlagsUser;
PVOID pShimData;
PVOID AppCompatInfo;
UNICODE_STRING CSDVersion;
PVOID ActivationContextData;
PVOID ProcessAssemblyStorageMap;
PVOID SystemDefaultActivationContextData;
PVOID SystemAssemblyStorageMap;
PVOID MinimumStackCommit;
} PEB, *PPEB;
/* Partial TEB description
Based on:
- fields that did not move since XP
- https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-teb
*/
typedef struct _EXCEPTION_REGISTRATION_RECORD {
_EXCEPTION_REGISTRATION_RECORD *Next;
PVOID Handler;
};
typedef struct _NT_TIB {
struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
PVOID StackBase;
PVOID StackLimit;
PVOID SubSystemTib;
union {
PVOID FiberData;
ULONG Version;
};
PVOID ArbitraryUserPointer;
struct _NT_TIB *Self;
} NT_TIB;
typedef struct _TEB {
_NT_TIB NtTib;
PVOID EnvironmentPointer;
_CLIENT_ID ClientId;
PVOID ActiveRpcHandle;
PVOID ThreadLocalStoragePointer;
_PEB *ProcessEnvironmentBlock;
ULONG LastErrorValue;
ULONG CountOfOwnedCriticalSections;
PVOID CsrClientThread;
PVOID Win32ThreadInfo;
ULONG User32Reserved[26];
ULONG UserReserved[5];
PVOID WOW32Reserved;
ULONG CurrentLocale;
ULONG FpSoftwareStatusRegister;
} TEB;
@@ -0,0 +1,347 @@
typedef union _ARM64_NT_NEON128 {
struct {
ULONGLONG Low;
LONGLONG High;
} DUMMYSTRUCTNAME;
DOUBLE D[2];
FLOAT S[4];
WORD H[8];
BYTE B[16];
} ARM64_NT_NEON128, *PARM64_NT_NEON128;
typedef struct _ARM64_NT_CONTEXT {
//
// Control flags.
//
/* +0x000 */ DWORD ContextFlags;
//
// Integer registers
//
/* +0x004 */ DWORD Cpsr; // NZVF + DAIF + CurrentEL + SPSel
/* +0x008 */ union {
struct {
DWORD64 X0;
DWORD64 X1;
DWORD64 X2;
DWORD64 X3;
DWORD64 X4;
DWORD64 X5;
DWORD64 X6;
DWORD64 X7;
DWORD64 X8;
DWORD64 X9;
DWORD64 X10;
DWORD64 X11;
DWORD64 X12;
DWORD64 X13;
DWORD64 X14;
DWORD64 X15;
DWORD64 X16;
DWORD64 X17;
DWORD64 X18;
DWORD64 X19;
DWORD64 X20;
DWORD64 X21;
DWORD64 X22;
DWORD64 X23;
DWORD64 X24;
DWORD64 X25;
DWORD64 X26;
DWORD64 X27;
DWORD64 X28;
/* +0x0f0 */ DWORD64 Fp;
/* +0x0f8 */ DWORD64 Lr;
} DUMMYSTRUCTNAME;
DWORD64 X[31];
} DUMMYUNIONNAME;
/* +0x100 */ DWORD64 Sp;
/* +0x108 */ DWORD64 Pc;
//
// Floating Point/NEON Registers
//
/* +0x110 */ ARM64_NT_NEON128 V[32];
/* +0x310 */ DWORD Fpcr;
/* +0x314 */ DWORD Fpsr;
//
// Debug registers
//
/* +0x318 */ DWORD Bcr[ARM64_MAX_BREAKPOINTS];
/* +0x338 */ DWORD64 Bvr[ARM64_MAX_BREAKPOINTS];
/* +0x378 */ DWORD Wcr[ARM64_MAX_WATCHPOINTS];
/* +0x380 */ DWORD64 Wvr[ARM64_MAX_WATCHPOINTS];
/* +0x390 */
} ARM64_NT_CONTEXT, *PARM64_NT_CONTEXT;
typedef struct _FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[80];
DWORD Cr0NpxState;
} FLOATING_SAVE_AREA;
typedef struct _CONTEXT32 {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[512];
} CONTEXT32, *PCONTEXT32, *LPCONTEXT32;
typedef struct _WOW64_FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[WOW64_SIZE_OF_80387_REGISTERS];
DWORD Cr0NpxState;
} WOW64_FLOATING_SAVE_AREA;
typedef struct _WOW64_CONTEXT {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
WOW64_FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION];
} WOW64_CONTEXT, *PWOW64_CONTEXT;
typedef struct _M128A {
ULONGLONG Low;
LONGLONG High;
} M128A, *PM128A;
typedef struct _XSAVE_FORMAT_64 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[16];
BYTE Reserved4[96];
} XSAVE_FORMAT_64, *PXSAVE_FORMAT_64;
typedef struct _XSAVE_FORMAT_32 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[8];
BYTE Reserved4[192];
DWORD StackControl[7];
DWORD Cr0NpxState;
} XSAVE_FORMAT_32, *PXSAVE_FORMAT_32;
typedef struct _CONTEXT64 {
//
// Register parameter home addresses.
//
// N.B. These fields are for convience - they could be used to extend the
// context record in the future.
//
DWORD64 P1Home;
DWORD64 P2Home;
DWORD64 P3Home;
DWORD64 P4Home;
DWORD64 P5Home;
DWORD64 P6Home;
//
// Control flags.
//
DWORD ContextFlags;
DWORD MxCsr;
//
// Segment Registers and processor flags.
//
WORD SegCs;
WORD SegDs;
WORD SegEs;
WORD SegFs;
WORD SegGs;
WORD SegSs;
DWORD EFlags;
//
// Debug registers
//
DWORD64 Dr0;
DWORD64 Dr1;
DWORD64 Dr2;
DWORD64 Dr3;
DWORD64 Dr6;
DWORD64 Dr7;
//
// Integer registers.
//
DWORD64 Rax;
DWORD64 Rcx;
DWORD64 Rdx;
DWORD64 Rbx;
DWORD64 Rsp;
DWORD64 Rbp;
DWORD64 Rsi;
DWORD64 Rdi;
DWORD64 R8;
DWORD64 R9;
DWORD64 R10;
DWORD64 R11;
DWORD64 R12;
DWORD64 R13;
DWORD64 R14;
DWORD64 R15;
//
// Program counter.
//
DWORD64 Rip;
//
// Floating point state.
//
union {
XSAVE_FORMAT_64 FltSave;
struct {
M128A Header[2];
M128A Legacy[8];
M128A Xmm0;
M128A Xmm1;
M128A Xmm2;
M128A Xmm3;
M128A Xmm4;
M128A Xmm5;
M128A Xmm6;
M128A Xmm7;
M128A Xmm8;
M128A Xmm9;
M128A Xmm10;
M128A Xmm11;
M128A Xmm12;
M128A Xmm13;
M128A Xmm14;
M128A Xmm15;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
//
// Vector registers.
//
M128A VectorRegister[26];
DWORD64 VectorControl;
//
// Special debug control registers.
//
DWORD64 DebugControl;
DWORD64 LastBranchToRip;
DWORD64 LastBranchFromRip;
DWORD64 LastExceptionToRip;
DWORD64 LastExceptionFromRip;
} CONTEXT64, *PCONTEXT64, *LPCONTEXT64;
@@ -1,188 +1,3 @@
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;
typedef struct _PEB_LDR_DATA {
BYTE Reserved1[8];
PVOID Reserved2[3];
LIST_ENTRY InMemoryOrderModuleList;
} PEB_LDR_DATA, *PPEB_LDR_DATA;
typedef struct _LSA_UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PVOID Buffer; // PVOID to prevent ctypes to automatically read the content of the buffer till a \0
} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;
typedef struct _CURDIR
{
UNICODE_STRING DosPath;
PVOID Handle;
} CURDIR, *PCURDIR;
typedef struct _RTL_DRIVE_LETTER_CURDIR
{
WORD Flags;
WORD Length;
ULONG TimeStamp;
UNICODE_STRING DosPath;
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
/* This is the part of RTL_USER_PROCESS_PARAMETERS that works from XP to Windows 10
http://terminus.rewolf.pl/terminus/structures/ntdll/_RTL_USER_PROCESS_PARAMETERS_x86.html
*/
typedef struct _RTL_USER_PROCESS_PARAMETERS
{
ULONG MaximumLength;
ULONG Length;
ULONG Flags;
ULONG DebugFlags;
PVOID ConsoleHandle;
ULONG ConsoleFlags;
PVOID StandardInput;
PVOID StandardOutput;
PVOID StandardError;
CURDIR CurrentDirectory;
UNICODE_STRING DllPath;
UNICODE_STRING ImagePathName;
UNICODE_STRING CommandLine;
PVOID Environment;
ULONG StartingX;
ULONG StartingY;
ULONG CountX;
ULONG CountY;
ULONG CountCharsX;
ULONG CountCharsY;
ULONG FillAttribute;
ULONG WindowFlags;
ULONG ShowWindowFlags;
UNICODE_STRING WindowTitle;
UNICODE_STRING DesktopInfo;
UNICODE_STRING ShellInfo;
UNICODE_STRING RuntimeData;
RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
// Thank to:
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa813706(v=vs.85).aspx
// http://blog.rewolf.pl/blog/?p=573
// http://terminus.rewolf.pl/terminus/structures/ntdll/_PEB_combined.html
typedef union _ANON_PEB_SYSTEM_DEPENDENT_02 {
PVOID FastPebLockRoutine;
PVOID SparePtr1;
PVOID AtlThunkSListPtr;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_03 {
PVOID FastPebUnlockRoutine;
PVOID SparePtr2;
PVOID IFEOKey;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_06 {
PVOID FreeList;
PVOID SparePebPtr0;
PVOID ApiSetMap;
};
typedef union _ANON_PEB_SYSTEM_DEPENDENT_07 {
PVOID ReadOnlySharedMemoryHeap;
PVOID HotpatchInformation;
PVOID SparePvoid0;
};
typedef union _ANON_PEB_UNION_1 {
PVOID KernelCallbackTable;
PVOID UserSharedInfoPtr;
};
typedef union _ANON_PEB_UNION_2 {
PVOID ImageProcessAffinityMask;
PVOID ActiveProcessAffinityMask;
};
typedef struct _PEB {
BYTE Reserved1[2];
BYTE BeingDebugged;
BYTE Reserved2[1];
PVOID Mutant;
PVOID ImageBaseAddress;
PPEB_LDR_DATA Ldr;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
PVOID SubSystemData;
PVOID ProcessHeap;
PVOID FastPebLock;
_ANON_PEB_SYSTEM_DEPENDENT_02 _SYSTEM_DEPENDENT_02;
_ANON_PEB_SYSTEM_DEPENDENT_03 _SYSTEM_DEPENDENT_03;
PVOID _SYSTEM_DEPENDENT_04;
union {
PVOID KernelCallbackTable;
PVOID UserSharedInfoPtr;
};
DWORD SystemReserved;
DWORD _SYSTEM_DEPENDENT_05;
_ANON_PEB_SYSTEM_DEPENDENT_06 _SYSTEM_DEPENDENT_06;
PVOID TlsExpansionCounter;
PVOID TlsBitmap;
DWORD TlsBitmapBits[2];
PVOID ReadOnlySharedMemoryBase;
_ANON_PEB_SYSTEM_DEPENDENT_07 _SYSTEM_DEPENDENT_07;
PVOID ReadOnlyStaticServerData;
PVOID AnsiCodePageData;
PVOID OemCodePageData;
PVOID UnicodeCaseTableData;
DWORD NumberOfProcessors;
DWORD NtGlobalFlag;
LARGE_INTEGER CriticalSectionTimeout;
PVOID HeapSegmentReserve;
PVOID HeapSegmentCommit;
PVOID HeapDeCommitTotalFreeThreshold;
PVOID HeapDeCommitFreeBlockThreshold;
DWORD NumberOfHeaps;
DWORD MaximumNumberOfHeaps;
PVOID ProcessHeaps;
PVOID GdiSharedHandleTable;
PVOID ProcessStarterHelper;
PVOID GdiDCAttributeList;
PVOID LoaderLock;
DWORD OSMajorVersion;
DWORD OSMinorVersion;
WORD OSBuildNumber;
WORD OSCSDVersion;
DWORD OSPlatformId;
DWORD ImageSubsystem;
DWORD ImageSubsystemMajorVersion;
PVOID ImageSubsystemMinorVersion;
union {
PVOID ImageProcessAffinityMask;
PVOID ActiveProcessAffinityMask;
};
PVOID GdiHandleBuffer[26];
BYTE GdiHandleBuffer2[32];
PVOID PostProcessInitRoutine;
PVOID TlsExpansionBitmap;
DWORD TlsExpansionBitmapBits[32];
PVOID SessionId;
ULARGE_INTEGER AppCompatFlags;
ULARGE_INTEGER AppCompatFlagsUser;
PVOID pShimData;
PVOID AppCompatInfo;
UNICODE_STRING CSDVersion;
PVOID ActivationContextData;
PVOID ProcessAssemblyStorageMap;
PVOID SystemDefaultActivationContextData;
PVOID SystemAssemblyStorageMap;
PVOID MinimumStackCommit;
} PEB, *PPEB;
typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength;
LPVOID lpSecurityDescriptor;
@@ -565,112 +380,7 @@ typedef enum _SECTION_INHERIT {
ViewUnmap = 2
} SECTION_INHERIT;
typedef enum _PROCESSINFOCLASS {
ProcessBasicInformation = 0,
ProcessQuotaLimits = 1,
ProcessIoCounters = 2,
ProcessVmCounters = 3,
ProcessTimes = 4,
ProcessBasePriority = 5,
ProcessRaisePriority = 6,
ProcessDebugPort = 7,
ProcessExceptionPort = 8,
ProcessAccessToken = 9,
ProcessLdtInformation = 10,
ProcessLdtSize = 11,
ProcessDefaultHardErrorMode = 12,
ProcessIoPortHandlers = 13, // Note: this is kernel mode only
ProcessPooledUsageAndLimits = 14,
ProcessWorkingSetWatch = 15,
ProcessUserModeIOPL = 16,
ProcessEnableAlignmentFaultFixup = 17,
ProcessPriorityClass = 18,
ProcessWx86Information = 19,
ProcessHandleCount = 20,
ProcessAffinityMask = 21,
ProcessPriorityBoost = 22,
ProcessDeviceMap = 23,
ProcessSessionInformation = 24,
ProcessForegroundInformation = 25,
ProcessWow64Information = 26,
ProcessImageFileName = 27,
ProcessLUIDDeviceMapsEnabled = 28,
ProcessBreakOnTermination = 29,
ProcessDebugObjectHandle = 30,
ProcessDebugFlags = 31,
ProcessHandleTracing = 32,
ProcessIoPriority = 33,
ProcessExecuteFlags = 34,
ProcessTlsInformation = 35,
ProcessCookie = 36,
ProcessImageInformation = 37,
ProcessCycleTime = 38,
ProcessPagePriority = 39,
ProcessInstrumentationCallback = 40,
ProcessThreadStackAllocation = 41,
ProcessWorkingSetWatchEx = 42,
ProcessImageFileNameWin32 = 43,
ProcessImageFileMapping = 44,
ProcessAffinityUpdateMode = 45,
ProcessMemoryAllocationMode = 46,
ProcessGroupInformation = 47,
ProcessTokenVirtualizationEnabled = 48,
ProcessOwnerInformation = 49,
ProcessWindowInformation = 50,
ProcessHandleInformation = 51,
ProcessMitigationPolicy = 52,
ProcessDynamicFunctionTableInformation = 53,
ProcessHandleCheckingMode = 54,
ProcessKeepAliveCount = 55,
ProcessRevokeFileHandles = 56,
ProcessWorkingSetControl = 57,
ProcessHandleTable = 58,
ProcessCheckStackExtentsMode = 59,
ProcessCommandLineInformation = 60,
ProcessProtectionInformation = 61,
ProcessMemoryExhaustion = 62,
ProcessFaultInformation = 63,
ProcessTelemetryIdInformation = 64,
ProcessCommitReleaseInformation = 65,
ProcessReserved1Information = 66,
ProcessReserved2Information = 67,
ProcessSubsystemProcess = 68,
ProcessInPrivate = 70,
ProcessRaiseUMExceptionOnInvalidHandleClose = 71,
ProcessSubsystemInformation = 75,
ProcessWin32kSyscallFilterInformation = 79,
ProcessEnergyTrackingState = 82,
MaxProcessInfoClass // MaxProcessInfoClass should always be the last enum
} PROCESSINFOCLASS;
typedef enum _MEMORY_INFORMATION_CLASS {
MemoryBasicInformation,
MemoryWorkingSetList,
MemorySectionName,
MemoryBasicVlmInformation,
MemoryWorkingSetListEx
} MEMORY_INFORMATION_CLASS;
typedef enum _THREAD_INFORMATION_CLASS {
ThreadBasicInformation,
ThreadTimes,
ThreadPriority,
ThreadBasePriority,
ThreadAffinityMask,
ThreadImpersonationToken,
ThreadDescriptorTableEntry,
ThreadEnableAlignmentFaultFixup,
ThreadEventPair,
ThreadQuerySetWin32StartAddress,
ThreadZeroTlsCell,
ThreadPerformanceCount,
ThreadAmILastThread,
ThreadIdealProcessor,
ThreadPriorityBoost,
ThreadSetTlsArrayAddress,
ThreadIsIoPending,
ThreadHideFromDebugger
} THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
@@ -863,34 +573,7 @@ typedef enum _SE_OBJECT_TYPE {
} SE_OBJECT_TYPE;
typedef struct _CLIENT_ID{
HANDLE UniqueProcess;
HANDLE UniqueThread;
} CLIENT_ID, *PCLIENT_ID;
typedef struct _CLIENT_ID64{
ULONG64 UniqueProcess;
ULONG64 UniqueThread;
} CLIENT_ID64, *PCLIENT_ID64;
typedef struct _CLIENT_ID32{
ULONG UniqueProcess;
ULONG UniqueThread;
} CLIENT_ID32, *PCLIENT_ID32;
typedef struct _LDR_DATA_TABLE_ENTRY {
PVOID Reserved1[2];
LIST_ENTRY InMemoryOrderLinks;
PVOID Reserved2[2];
PVOID DllBase;
PVOID EntryPoint;
PVOID SizeOfImage;
UNICODE_STRING FullDllName;
UNICODE_STRING BaseDllName;
PVOID Reserved5[3];
ULONG CheckSum;
ULONG TimeDateStamp;
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
typedef struct _MEMORY_BASIC_INFORMATION {
@@ -1054,232 +737,7 @@ typedef struct _PROCESS_INFORMATION {
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
typedef struct _FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[80];
DWORD Cr0NpxState;
} FLOATING_SAVE_AREA;
typedef struct _CONTEXT32 {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[512];
} CONTEXT32, *PCONTEXT32, *LPCONTEXT32;
typedef struct _WOW64_FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[WOW64_SIZE_OF_80387_REGISTERS];
DWORD Cr0NpxState;
} WOW64_FLOATING_SAVE_AREA;
typedef struct _WOW64_CONTEXT {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
WOW64_FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION];
} WOW64_CONTEXT, *PWOW64_CONTEXT;
typedef struct _M128A {
ULONGLONG Low;
LONGLONG High;
} M128A, *PM128A;
typedef struct _XSAVE_FORMAT_64 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[16];
BYTE Reserved4[96];
} XSAVE_FORMAT_64, *PXSAVE_FORMAT_64;
typedef struct _XSAVE_FORMAT_32 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[8];
BYTE Reserved4[192];
DWORD StackControl[7];
DWORD Cr0NpxState;
} XSAVE_FORMAT_32, *PXSAVE_FORMAT_32;
typedef struct _TMP_DUMMYSTRUCTNAME {
M128A Header[2];
M128A Legacy[8];
M128A Xmm0;
M128A Xmm1;
M128A Xmm2;
M128A Xmm3;
M128A Xmm4;
M128A Xmm5;
M128A Xmm6;
M128A Xmm7;
M128A Xmm8;
M128A Xmm9;
M128A Xmm10;
M128A Xmm11;
M128A Xmm12;
M128A Xmm13;
M128A Xmm14;
M128A Xmm15;
} TMP_DUMMYSTRUCTNAME;
typedef union _TMP_CONTEXT64_SUBUNION {
XSAVE_FORMAT_64 FltSave;
TMP_DUMMYSTRUCTNAME DUMMYSTRUCTNAME;
} TMP_CONTEXT64_SUBUNION;
typedef struct _CONTEXT64 {
DWORD64 P1Home;
DWORD64 P2Home;
DWORD64 P3Home;
DWORD64 P4Home;
DWORD64 P5Home;
DWORD64 P6Home;
DWORD ContextFlags;
DWORD MxCsr;
WORD SegCs;
WORD SegDs;
WORD SegEs;
WORD SegFs;
WORD SegGs;
WORD SegSs;
DWORD EFlags;
DWORD64 Dr0;
DWORD64 Dr1;
DWORD64 Dr2;
DWORD64 Dr3;
DWORD64 Dr6;
DWORD64 Dr7;
DWORD64 Rax;
DWORD64 Rcx;
DWORD64 Rdx;
DWORD64 Rbx;
DWORD64 Rsp;
DWORD64 Rbp;
DWORD64 Rsi;
DWORD64 Rdi;
DWORD64 R8;
DWORD64 R9;
DWORD64 R10;
DWORD64 R11;
DWORD64 R12;
DWORD64 R13;
DWORD64 R14;
DWORD64 R15;
DWORD64 Rip;
TMP_CONTEXT64_SUBUNION DUMMYUNIONNAME;
M128A VectorRegister[26];
DWORD64 VectorControl;
DWORD64 DebugControl;
DWORD64 LastBranchToRip;
DWORD64 LastBranchFromRip;
DWORD64 LastExceptionToRip;
DWORD64 LastExceptionFromRip;
} CONTEXT64, *PCONTEXT64, *LPCONTEXT64;
typedef struct tagPROCESSENTRY32W
@@ -0,0 +1,18 @@
# From: ctypes_generation\extended_structs\_LIST_ENTRY.py
# _LIST_ENTRY is a self referencing structure
# Currently ctypes generation does not support extending self referencing structures
# Ass the _fields_ assignement should happen after the extended structure definition
# So we just redefine fully _LIST_ENTRY without inheriting the real one
class _LIST_ENTRY(Structure):
def get_real_struct(self, targetcls, target_field):
# >>> gdef.LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks
# <Field type=_LIST_ENTRY, ofs=16, size=16>
# This field object does not allow to retrieve the type..
# So we need to basse the target class AND the target field..
return targetcls.from_address(ctypes.addressof(self) - target_field.offset)
_LIST_ENTRY._fields_ = [
("Flink", POINTER(_LIST_ENTRY)),
("Blink", POINTER(_LIST_ENTRY)),
]
+3 -2
View File
@@ -123,8 +123,9 @@ class WinStruct(object):
def generate_selfref_ctypes_class(self):
res = ["# Self referencing struct tricks"]
res += ["""class {0}(Structure): pass""".format(self.name)]
# res += [self.generate_anonymous_union()]
res += ["""class {0}(Structure):""".format(self.name)]
# We need some code in the def of anon is empty -> insert path
res += [self.generate_anonymous_union() or " pass"]
res += [self.generate_typedef_ctypes()]
if self.pack:
+1 -1
View File
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 01121266b90a8b5351869d0cc2981bae
config: 79eb4f6d749f8afd0854dfaf20582dd7
tags: 645f666f9bcd5a90fca523b33c5a78b7
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &#8212; PythonForWindows 1.0.1 documentation</title>
<title>Overview: module code &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../_static/css/mbasic.css?v=957880af" />
<script src="../_static/documentation_options.js?v=292eb321"></script>
<script src="../_static/documentation_options.js?v=baaebd52"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
</ul>
</div>
@@ -115,7 +115,7 @@
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
</ul>
</div>
+8 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.alpc &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.alpc &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.alpc</a></li>
</ul>
@@ -505,6 +505,8 @@
<span class="k">def</span> <span class="nf">disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">def</span> <span class="fm">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
@@ -608,8 +610,10 @@
<span class="k">def</span> <span class="nf">disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">for</span> <span class="n">com_port_handle</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">communication_port_list</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="n">com_port_handle</span><span class="p">)</span>
<span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">communication_port_list</span><span class="p">[:]</span>
<span class="c1"># TODO: add an API to close a communication port ?</span>
@@ -648,7 +652,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.alpc</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.com &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.com &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.com</a></li>
</ul>
@@ -489,7 +489,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.com</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.crypto.certificate &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.crypto.certificate &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
</ul>
@@ -697,7 +697,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.crypto.cryptmsg &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.crypto.cryptmsg &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.cryptmsg</a></li>
</ul>
@@ -216,7 +216,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.cryptmsg</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.crypto.encrypt_decrypt &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.crypto.encrypt_decrypt &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.encrypt_decrypt</a></li>
</ul>
@@ -193,7 +193,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.encrypt_decrypt</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.crypto.generation &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.crypto.generation &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.generation</a></li>
</ul>
@@ -130,7 +130,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.crypto.generation</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.debug.breakpoints &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.debug.breakpoints &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.breakpoints</a></li>
</ul>
@@ -365,7 +365,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.breakpoints</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.debug.debugger &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.debug.debugger &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.debugger</a></li>
</ul>
@@ -1300,7 +1300,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.debugger</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.debug.localdbg &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.debug.localdbg &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.localdbg</a></li>
</ul>
@@ -394,7 +394,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.localdbg</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.debug.symboldbg &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.debug.symboldbg &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.symboldbg</a></li>
</ul>
@@ -119,7 +119,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.symboldbg</a></li>
</ul>
+10 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.debug.symbols &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.debug.symbols &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.symbols</a></li>
</ul>
@@ -605,6 +605,12 @@
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">SymGetTypeFromNameW</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">buff</span><span class="p">)</span>
<span class="k">return</span> <span class="n">SymbolType</span><span class="o">.</span><span class="n">from_symbol_info</span><span class="p">(</span><span class="n">buff</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">resolver</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
<span class="c1">#</span>
<span class="k">def</span> <span class="nf">types</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mod</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="n">typeslist</span> <span class="o">=</span> <span class="p">[]</span> <span class="c1"># Iter on types of all modules if None provided ?</span>
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">SymEnumTypes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">simple_aggregator</span><span class="p">,</span> <span class="n">typeslist</span><span class="p">)</span>
<span class="k">return</span> <span class="p">[</span><span class="n">SymbolType</span><span class="o">.</span><span class="n">from_symbol_info</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">resolver</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">typeslist</span><span class="p">]</span>
<span class="c1"># TODO: mets de l&#39;huile pour w4kfu</span>
<span class="k">class</span> <span class="nc">StackWalker</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
@@ -863,7 +869,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.debug.symbols</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.generated_def.flag &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.generated_def.flag &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.flag</a></li>
</ul>
@@ -145,7 +145,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.flag</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.generated_def.interfaces &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.generated_def.interfaces &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.interfaces</a></li>
</ul>
@@ -117,12 +117,6 @@
<div class="viewcode-block" id="IActivationStageInfo">
<a class="viewcode-back" href="../../../interfaces_generated.html#windows.generated_def.interfaces.IActivationStageInfo">[docs]</a>
<span class="k">class</span> <span class="nc">IActivationStageInfo</span><span class="p">(</span><span class="n">COMInterface</span><span class="p">):</span>
<span class="n">IID</span> <span class="o">=</span> <span class="n">generate_IID</span><span class="p">(</span><span class="mh">0x000001A8</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0xC0</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x46</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;IActivationStageInfo&quot;</span><span class="p">,</span> <span class="n">strid</span><span class="o">=</span><span class="s2">&quot;000001A8-0000-0000-C000-000000000046&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="ICallFactory">
<a class="viewcode-back" href="../../../interfaces_generated.html#windows.generated_def.interfaces.ICallFactory">[docs]</a>
<span class="k">class</span> <span class="nc">ICallFactory</span><span class="p">(</span><span class="n">COMInterface</span><span class="p">):</span>
@@ -405,6 +399,12 @@
<span class="n">IID</span> <span class="o">=</span> <span class="n">generate_IID</span><span class="p">(</span><span class="mh">0x000001A2</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0xC0</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x46</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;IActivationPropertiesIn&quot;</span><span class="p">,</span> <span class="n">strid</span><span class="o">=</span><span class="s2">&quot;000001A2-0000-0000-C000-000000000046&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="IActivationStageInfo">
<a class="viewcode-back" href="../../../interfaces_generated.html#windows.generated_def.interfaces.IActivationStageInfo">[docs]</a>
<span class="k">class</span> <span class="nc">IActivationStageInfo</span><span class="p">(</span><span class="n">COMInterface</span><span class="p">):</span>
<span class="n">IID</span> <span class="o">=</span> <span class="n">generate_IID</span><span class="p">(</span><span class="mh">0x000001A8</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0x0000</span><span class="p">,</span> <span class="mh">0xC0</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x46</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;IActivationStageInfo&quot;</span><span class="p">,</span> <span class="n">strid</span><span class="o">=</span><span class="s2">&quot;000001A8-0000-0000-C000-000000000046&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="IClassClassicInfo">
<a class="viewcode-back" href="../../../interfaces_generated.html#windows.generated_def.interfaces.IClassClassicInfo">[docs]</a>
<span class="k">class</span> <span class="nc">IClassClassicInfo</span><span class="p">(</span><span class="n">COMInterface</span><span class="p">):</span>
@@ -801,21 +801,6 @@
<span class="n">IID</span> <span class="o">=</span> <span class="n">generate_IID</span><span class="p">(</span><span class="mh">0x0EFA6E54</span><span class="p">,</span> <span class="mh">0xF313</span><span class="p">,</span> <span class="mh">0x405D</span><span class="p">,</span> <span class="mh">0xB5</span><span class="p">,</span> <span class="mh">0xD8</span><span class="p">,</span> <span class="mh">0x83</span><span class="p">,</span> <span class="mh">0x0A</span><span class="p">,</span> <span class="mh">0x91</span><span class="p">,</span> <span class="mh">0x4F</span><span class="p">,</span> <span class="mh">0x64</span><span class="p">,</span> <span class="mh">0x96</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;IWbemServices&quot;</span><span class="p">,</span> <span class="n">strid</span><span class="o">=</span><span class="s2">&quot;0EFA6E54-F313-405D-B5D8-830A914F6496&quot;</span><span class="p">)</span></div>
<span class="n">IActivationStageInfo</span><span class="o">.</span><span class="n">_functions_</span> <span class="o">=</span> <span class="p">{</span>
<span class="c1"># QueryInterface -&gt; riid:REFIID, ppvObject:**void</span>
<span class="s2">&quot;QueryInterface&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">REFIID</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID</span><span class="p">))(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;QueryInterface&quot;</span><span class="p">),</span>
<span class="c1"># AddRef -&gt; </span>
<span class="s2">&quot;AddRef&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">ULONG</span><span class="p">)(</span><span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;AddRef&quot;</span><span class="p">),</span>
<span class="c1"># Release -&gt; </span>
<span class="s2">&quot;Release&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">ULONG</span><span class="p">)(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;Release&quot;</span><span class="p">),</span>
<span class="c1"># SetStageAndIndex -&gt; stage:ACTIVATION_STAGE, index:INT</span>
<span class="s2">&quot;SetStageAndIndex&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">ACTIVATION_STAGE</span><span class="p">,</span> <span class="n">INT</span><span class="p">)(</span><span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;SetStageAndIndex&quot;</span><span class="p">),</span>
<span class="c1"># GetStage -&gt; pstage:*ACTIVATION_STAGE</span>
<span class="s2">&quot;GetStage&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">ACTIVATION_STAGE</span><span class="p">))(</span><span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;GetStage&quot;</span><span class="p">),</span>
<span class="c1"># GetIndex -&gt; pindex:*INT</span>
<span class="s2">&quot;GetIndex&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">INT</span><span class="p">))(</span><span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;GetIndex&quot;</span><span class="p">),</span>
<span class="p">}</span>
<span class="n">ICallFactory</span><span class="o">.</span><span class="n">_functions_</span> <span class="o">=</span> <span class="p">{</span>
<span class="c1"># QueryInterface -&gt; riid:REFIID, ppvObject:**void</span>
<span class="s2">&quot;QueryInterface&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">REFIID</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID</span><span class="p">))(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;QueryInterface&quot;</span><span class="p">),</span>
@@ -2021,6 +2006,21 @@
<span class="s2">&quot;GetReturnActivationProperties&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">IUnknown</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">IActivationPropertiesOut</span><span class="p">))(</span><span class="mi">12</span><span class="p">,</span> <span class="s2">&quot;GetReturnActivationProperties&quot;</span><span class="p">),</span>
<span class="p">}</span>
<span class="n">IActivationStageInfo</span><span class="o">.</span><span class="n">_functions_</span> <span class="o">=</span> <span class="p">{</span>
<span class="c1"># QueryInterface -&gt; riid:REFIID, ppvObject:**void</span>
<span class="s2">&quot;QueryInterface&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">REFIID</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID</span><span class="p">))(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;QueryInterface&quot;</span><span class="p">),</span>
<span class="c1"># AddRef -&gt; </span>
<span class="s2">&quot;AddRef&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">ULONG</span><span class="p">)(</span><span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;AddRef&quot;</span><span class="p">),</span>
<span class="c1"># Release -&gt; </span>
<span class="s2">&quot;Release&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">ULONG</span><span class="p">)(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;Release&quot;</span><span class="p">),</span>
<span class="c1"># SetStageAndIndex -&gt; stage:ACTIVATION_STAGE, index:INT</span>
<span class="s2">&quot;SetStageAndIndex&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">ACTIVATION_STAGE</span><span class="p">,</span> <span class="n">INT</span><span class="p">)(</span><span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;SetStageAndIndex&quot;</span><span class="p">),</span>
<span class="c1"># GetStage -&gt; pstage:*ACTIVATION_STAGE</span>
<span class="s2">&quot;GetStage&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">ACTIVATION_STAGE</span><span class="p">))(</span><span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;GetStage&quot;</span><span class="p">),</span>
<span class="c1"># GetIndex -&gt; pindex:*INT</span>
<span class="s2">&quot;GetIndex&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">INT</span><span class="p">))(</span><span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;GetIndex&quot;</span><span class="p">),</span>
<span class="p">}</span>
<span class="n">IClassClassicInfo</span><span class="o">.</span><span class="n">_functions_</span> <span class="o">=</span> <span class="p">{</span>
<span class="c1"># QueryInterface -&gt; riid:REFIID, ppvObject:**void</span>
<span class="s2">&quot;QueryInterface&quot;</span><span class="p">:</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">HRESULT</span><span class="p">,</span> <span class="n">REFIID</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID</span><span class="p">))(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;QueryInterface&quot;</span><span class="p">),</span>
@@ -3998,7 +3998,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.interfaces</a></li>
</ul>
+232 -32
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.generated_def.winstructs &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.generated_def.winstructs &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.winstructs</a></li>
</ul>
@@ -346,6 +346,8 @@
<span class="n">LPSERVICE_MAIN_FUNCTIONW</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">LPOVERLAPPED_COMPLETION_ROUTINE</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">PDNS_QUERY_COMPLETION_ROUTINE</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">LPHANDLER_FUNCTION</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">LPHANDLER_FUNCTION_EX</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">LPCONTEXT</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">HCERTSTORE</span> <span class="o">=</span> <span class="n">PVOID</span>
<span class="n">HCRYPTMSG</span> <span class="o">=</span> <span class="n">PVOID</span>
@@ -1779,21 +1781,6 @@
<span class="n">LOCALTHIS</span> <span class="o">=</span> <span class="n">_LOCALTHIS</span>
<div class="viewcode-block" id="_LOCALTHIS32">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHIS32">[docs]</a>
<span class="k">class</span> <span class="nc">_LOCALTHIS32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFlags&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwClientThread&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;passthroughTraceActivity&quot;</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;callTraceActivity&quot;</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;asyncRequestBlock&quot;</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pTouchedAstaArray&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span></div>
<span class="n">LOCALTHIS32</span> <span class="o">=</span> <span class="n">_LOCALTHIS32</span>
<div class="viewcode-block" id="_MIDL_XmitDefs_0007">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._MIDL_XmitDefs_0007">[docs]</a>
<span class="k">class</span> <span class="nc">_MIDL_XmitDefs_0007</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
@@ -1883,19 +1870,6 @@
<span class="n">LOCALTHAT</span> <span class="o">=</span> <span class="n">_LOCALTHAT</span>
<div class="viewcode-block" id="_LOCALTHAT32">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHAT32">[docs]</a>
<span class="k">class</span> <span class="nc">_LOCALTHAT32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAsyncResponseBlock&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;containerErrorInformation&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;containerPassthroughData&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span></div>
<span class="n">LOCALTHAT32</span> <span class="o">=</span> <span class="n">_LOCALTHAT32</span>
<div class="viewcode-block" id="tagORPCTHAT">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs.tagORPCTHAT">[docs]</a>
<span class="k">class</span> <span class="nc">tagORPCTHAT</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
@@ -1916,6 +1890,176 @@
<span class="k">class</span> <span class="nc">WireExtentArray</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;unique&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;rounded_size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;unique_flag&quot;</span><span class="p">,</span> <span class="n">ULONG</span> <span class="o">*</span> <span class="p">(</span><span class="n">UNIQUE_FLAG_PADDING</span><span class="p">)),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">WireExtent</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;rounded_size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">tagMainHeader</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;Signature&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;Version&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;cPolicies&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;cbBuffer&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;cbSize&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;hr&quot;</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;hrServer&quot;</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
<span class="p">]</span>
<span class="n">MainHeader</span> <span class="o">=</span> <span class="n">tagMainHeader</span>
<span class="k">class</span> <span class="nc">LOCALTHIS32_NT_62</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFlags&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwClientThread&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0001_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAstaOxids&quot;</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">UINT64</span><span class="p">)),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">LOCALTHIS32_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFlags&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwClientThread&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pTouchedAstaArray&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">LOCALTHAT32_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetAcknowledgmentOxid&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0002_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;size&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAstaOxids&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0001_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;asyncOperationId&quot;</span><span class="p">,</span> <span class="n">_GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;oxidClientProcessNA&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;originalClientLogicalThreadId&quot;</span><span class="p">,</span> <span class="n">_GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;uClientCausalityTraceId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">]</span>
<span class="n">MIDL_XmitDefs_0001_NT_1607</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0001_NT_1607</span>
<span class="k">class</span> <span class="nc">_LOCALTHIS32_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFlags&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwClientThread&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;asyncRequestBlock&quot;</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001_NT_1607</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pTouchedAstaArray&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span>
<span class="n">LOCALTHIS32_NT_1607</span> <span class="o">=</span> <span class="n">_LOCALTHIS32_NT_1607</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0007</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;pointOfFailure&quot;</span><span class="p">,</span> <span class="n">INT</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;hrFailure&quot;</span><span class="p">,</span> <span class="n">HRESULT</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;sizeOfMarshaledErrorInfo&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pMarshaledErrorInfo&quot;</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">BYTE</span><span class="p">)),</span>
<span class="p">]</span>
<span class="n">MIDL_XmitDefs_0007</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0007</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0005</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;sizeOfMarshaledResults&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pMarshaledResults&quot;</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">BYTE</span><span class="p">)),</span>
<span class="p">]</span>
<span class="n">MIDL_XmitDefs_0005</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0005</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0008</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;outcome&quot;</span><span class="p">,</span> <span class="n">INT</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;successDetails&quot;</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0005</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;failureDetails&quot;</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0007</span><span class="p">),</span>
<span class="p">]</span>
<span class="n">MIDL_XmitDefs_0008</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0008</span>
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0010</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;asyncStatus&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved1&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;uServerCausalityTraceId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved2&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pOutcomeDetails&quot;</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID32</span><span class="p">)),</span>
<span class="p">]</span>
<span class="n">MIDL_XmitDefs_0010</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0010</span>
<span class="k">class</span> <span class="nc">LOCALTHAT32_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetAcknowledgmentOxid&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAsyncResponseBlock&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span>
<span class="k">class</span> <span class="nc">_LOCALTHAT32_10_1903</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAsyncResponseBlock&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;containerPassthroughData&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span>
<span class="n">LOCALTHAT32_10_1903</span> <span class="o">=</span> <span class="n">_LOCALTHAT32_10_1903</span>
<div class="viewcode-block" id="_LOCALTHIS32">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHIS32">[docs]</a>
<span class="k">class</span> <span class="nc">_LOCALTHIS32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFlags&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwClientThread&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;passthroughTraceActivity&quot;</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;callTraceActivity&quot;</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;asyncRequestBlock&quot;</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pTouchedAstaArray&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span></div>
<span class="n">LOCALTHIS32</span> <span class="o">=</span> <span class="n">_LOCALTHIS32</span>
<div class="viewcode-block" id="_LOCALTHAT32">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHAT32">[docs]</a>
<span class="k">class</span> <span class="nc">_LOCALTHAT32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;marshalingSetId&quot;</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;pAsyncResponseBlock&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;containerErrorInformation&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;containerPassthroughData&quot;</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
<span class="p">]</span></div>
<span class="n">LOCALTHAT32</span> <span class="o">=</span> <span class="n">_LOCALTHAT32</span>
<span class="n">VIRTUAL_DISK_ACCESS_NONE</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_VIRTUAL_DISK_ACCESS_MASK&quot;</span><span class="p">,</span> <span class="s2">&quot;VIRTUAL_DISK_ACCESS_NONE&quot;</span><span class="p">,</span> <span class="mh">0x0</span><span class="p">)</span>
<span class="n">VIRTUAL_DISK_ACCESS_ATTACH_RO</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_VIRTUAL_DISK_ACCESS_MASK&quot;</span><span class="p">,</span> <span class="s2">&quot;VIRTUAL_DISK_ACCESS_ATTACH_RO&quot;</span><span class="p">,</span> <span class="mh">0x1</span><span class="p">)</span>
<span class="n">VIRTUAL_DISK_ACCESS_ATTACH_RW</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_VIRTUAL_DISK_ACCESS_MASK&quot;</span><span class="p">,</span> <span class="s2">&quot;VIRTUAL_DISK_ACCESS_ATTACH_RW&quot;</span><span class="p">,</span> <span class="mh">0x2</span><span class="p">)</span>
@@ -11231,6 +11375,42 @@
<span class="n">PFILE_INFORMATION_CLASS</span> <span class="o">=</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">_FILE_INFORMATION_CLASS</span><span class="p">)</span>
<span class="n">FileBasicInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileBasicInfo&quot;</span><span class="p">,</span> <span class="mh">0x0</span><span class="p">)</span>
<span class="n">FileStandardInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileStandardInfo&quot;</span><span class="p">,</span> <span class="mh">0x1</span><span class="p">)</span>
<span class="n">FileNameInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileNameInfo&quot;</span><span class="p">,</span> <span class="mh">0x2</span><span class="p">)</span>
<span class="n">FileRenameInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileRenameInfo&quot;</span><span class="p">,</span> <span class="mh">0x3</span><span class="p">)</span>
<span class="n">FileDispositionInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileDispositionInfo&quot;</span><span class="p">,</span> <span class="mh">0x4</span><span class="p">)</span>
<span class="n">FileAllocationInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileAllocationInfo&quot;</span><span class="p">,</span> <span class="mh">0x5</span><span class="p">)</span>
<span class="n">FileEndOfFileInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileEndOfFileInfo&quot;</span><span class="p">,</span> <span class="mh">0x6</span><span class="p">)</span>
<span class="n">FileStreamInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileStreamInfo&quot;</span><span class="p">,</span> <span class="mh">0x7</span><span class="p">)</span>
<span class="n">FileCompressionInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileCompressionInfo&quot;</span><span class="p">,</span> <span class="mh">0x8</span><span class="p">)</span>
<span class="n">FileAttributeTagInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileAttributeTagInfo&quot;</span><span class="p">,</span> <span class="mh">0x9</span><span class="p">)</span>
<span class="n">FileIdBothDirectoryInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIdBothDirectoryInfo&quot;</span><span class="p">,</span> <span class="mh">0xa</span><span class="p">)</span>
<span class="n">FileIdBothDirectoryRestartInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIdBothDirectoryRestartInfo&quot;</span><span class="p">,</span> <span class="mh">0xb</span><span class="p">)</span>
<span class="n">FileIoPriorityHintInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIoPriorityHintInfo&quot;</span><span class="p">,</span> <span class="mh">0xc</span><span class="p">)</span>
<span class="n">FileRemoteProtocolInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileRemoteProtocolInfo&quot;</span><span class="p">,</span> <span class="mh">0xd</span><span class="p">)</span>
<span class="n">FileFullDirectoryInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileFullDirectoryInfo&quot;</span><span class="p">,</span> <span class="mh">0xe</span><span class="p">)</span>
<span class="n">FileFullDirectoryRestartInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileFullDirectoryRestartInfo&quot;</span><span class="p">,</span> <span class="mh">0xf</span><span class="p">)</span>
<span class="n">FileStorageInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileStorageInfo&quot;</span><span class="p">,</span> <span class="mh">0x10</span><span class="p">)</span>
<span class="n">FileAlignmentInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileAlignmentInfo&quot;</span><span class="p">,</span> <span class="mh">0x11</span><span class="p">)</span>
<span class="n">FileIdInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIdInfo&quot;</span><span class="p">,</span> <span class="mh">0x12</span><span class="p">)</span>
<span class="n">FileIdExtdDirectoryInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIdExtdDirectoryInfo&quot;</span><span class="p">,</span> <span class="mh">0x13</span><span class="p">)</span>
<span class="n">FileIdExtdDirectoryRestartInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileIdExtdDirectoryRestartInfo&quot;</span><span class="p">,</span> <span class="mh">0x14</span><span class="p">)</span>
<span class="n">FileDispositionInfoEx</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileDispositionInfoEx&quot;</span><span class="p">,</span> <span class="mh">0x15</span><span class="p">)</span>
<span class="n">FileRenameInfoEx</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileRenameInfoEx&quot;</span><span class="p">,</span> <span class="mh">0x16</span><span class="p">)</span>
<span class="n">FileCaseSensitiveInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileCaseSensitiveInfo&quot;</span><span class="p">,</span> <span class="mh">0x17</span><span class="p">)</span>
<span class="n">FileNormalizedNameInfo</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;FileNormalizedNameInfo&quot;</span><span class="p">,</span> <span class="mh">0x18</span><span class="p">)</span>
<span class="n">MaximumFileInfoByHandleClass</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_FILE_INFO_BY_HANDLE_CLASS&quot;</span><span class="p">,</span> <span class="s2">&quot;MaximumFileInfoByHandleClass&quot;</span><span class="p">,</span> <span class="mh">0x19</span><span class="p">)</span>
<div class="viewcode-block" id="_FILE_INFO_BY_HANDLE_CLASS">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS">[docs]</a>
<span class="k">class</span> <span class="nc">_FILE_INFO_BY_HANDLE_CLASS</span><span class="p">(</span><span class="n">EnumType</span><span class="p">):</span>
<span class="n">values</span> <span class="o">=</span> <span class="p">[</span><span class="n">FileBasicInfo</span><span class="p">,</span> <span class="n">FileStandardInfo</span><span class="p">,</span> <span class="n">FileNameInfo</span><span class="p">,</span> <span class="n">FileRenameInfo</span><span class="p">,</span> <span class="n">FileDispositionInfo</span><span class="p">,</span> <span class="n">FileAllocationInfo</span><span class="p">,</span> <span class="n">FileEndOfFileInfo</span><span class="p">,</span> <span class="n">FileStreamInfo</span><span class="p">,</span> <span class="n">FileCompressionInfo</span><span class="p">,</span> <span class="n">FileAttributeTagInfo</span><span class="p">,</span> <span class="n">FileIdBothDirectoryInfo</span><span class="p">,</span> <span class="n">FileIdBothDirectoryRestartInfo</span><span class="p">,</span> <span class="n">FileIoPriorityHintInfo</span><span class="p">,</span> <span class="n">FileRemoteProtocolInfo</span><span class="p">,</span> <span class="n">FileFullDirectoryInfo</span><span class="p">,</span> <span class="n">FileFullDirectoryRestartInfo</span><span class="p">,</span> <span class="n">FileStorageInfo</span><span class="p">,</span> <span class="n">FileAlignmentInfo</span><span class="p">,</span> <span class="n">FileIdInfo</span><span class="p">,</span> <span class="n">FileIdExtdDirectoryInfo</span><span class="p">,</span> <span class="n">FileIdExtdDirectoryRestartInfo</span><span class="p">,</span> <span class="n">FileDispositionInfoEx</span><span class="p">,</span> <span class="n">FileRenameInfoEx</span><span class="p">,</span> <span class="n">FileCaseSensitiveInfo</span><span class="p">,</span> <span class="n">FileNormalizedNameInfo</span><span class="p">,</span> <span class="n">MaximumFileInfoByHandleClass</span><span class="p">]</span>
<span class="n">mapper</span> <span class="o">=</span> <span class="n">FlagMapper</span><span class="p">(</span><span class="o">*</span><span class="n">values</span><span class="p">)</span></div>
<span class="n">FILE_INFO_BY_HANDLE_CLASS</span> <span class="o">=</span> <span class="n">_FILE_INFO_BY_HANDLE_CLASS</span>
<span class="n">PFILE_INFO_BY_HANDLE_CLASS</span> <span class="o">=</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">_FILE_INFO_BY_HANDLE_CLASS</span><span class="p">)</span>
<span class="n">IoPriorityVeryLow</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_IO_PRIORITY_HINT&quot;</span><span class="p">,</span> <span class="s2">&quot;IoPriorityVeryLow&quot;</span><span class="p">,</span> <span class="mh">0x0</span><span class="p">)</span>
<span class="n">IoPriorityLow</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_IO_PRIORITY_HINT&quot;</span><span class="p">,</span> <span class="s2">&quot;IoPriorityLow&quot;</span><span class="p">,</span> <span class="mh">0x1</span><span class="p">)</span>
<span class="n">IoPriorityNormal</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">&quot;_IO_PRIORITY_HINT&quot;</span><span class="p">,</span> <span class="s2">&quot;IoPriorityNormal&quot;</span><span class="p">,</span> <span class="mh">0x2</span><span class="p">)</span>
@@ -11472,6 +11652,26 @@
<span class="n">FILE_GET_EA_INFORMATION</span> <span class="o">=</span> <span class="n">_FILE_GET_EA_INFORMATION</span>
<span class="n">PFILE_GET_EA_INFORMATION</span> <span class="o">=</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">_FILE_GET_EA_INFORMATION</span><span class="p">)</span>
<div class="viewcode-block" id="_BY_HANDLE_FILE_INFORMATION">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION">[docs]</a>
<span class="k">class</span> <span class="nc">_BY_HANDLE_FILE_INFORMATION</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;dwFileAttributes&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;ftCreationTime&quot;</span><span class="p">,</span> <span class="n">FILETIME</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;ftLastAccessTime&quot;</span><span class="p">,</span> <span class="n">FILETIME</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;ftLastWriteTime&quot;</span><span class="p">,</span> <span class="n">FILETIME</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;dwVolumeSerialNumber&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;nFileSizeHigh&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;nFileSizeLow&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;nNumberOfLinks&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;nFileIndexHigh&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;nFileIndexLow&quot;</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
<span class="p">]</span></div>
<span class="n">BY_HANDLE_FILE_INFORMATION</span> <span class="o">=</span> <span class="n">_BY_HANDLE_FILE_INFORMATION</span>
<span class="n">LPBY_HANDLE_FILE_INFORMATION</span> <span class="o">=</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">_BY_HANDLE_FILE_INFORMATION</span><span class="p">)</span>
<span class="n">PBY_HANDLE_FILE_INFORMATION</span> <span class="o">=</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">_BY_HANDLE_FILE_INFORMATION</span><span class="p">)</span>
<div class="viewcode-block" id="tagVS_FIXEDFILEINFO">
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs.tagVS_FIXEDFILEINFO">[docs]</a>
<span class="k">class</span> <span class="nc">tagVS_FIXEDFILEINFO</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
@@ -14964,7 +15164,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.generated_def.winstructs</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.hooks &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.hooks &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.hooks</a></li>
</ul>
@@ -210,7 +210,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.hooks</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.native_exec.cpuid &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.native_exec.cpuid &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.cpuid</a></li>
</ul>
@@ -260,7 +260,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.cpuid</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.native_exec.native_function &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.native_exec.native_function &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.native_function</a></li>
</ul>
@@ -158,7 +158,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.native_function</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.native_exec.simple_x86 &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.native_exec.simple_x86 &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.simple_x86</a></li>
</ul>
@@ -1273,7 +1273,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.native_exec.simple_x86</a></li>
</ul>
+18 -5
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.pe_parse &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.pe_parse &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.pe_parse</a></li>
</ul>
@@ -503,7 +503,20 @@
<span class="n">iat_entry</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="k">if</span> <span class="n">name</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
<span class="n">name</span> <span class="o">=</span> <span class="n">get_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">baseaddr</span> <span class="o">+</span> <span class="n">import_descriptor</span><span class="o">.</span><span class="n">Name</span><span class="p">)</span>
<span class="n">res</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">name</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span> <span class="p">[])</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">IAT</span><span class="p">)</span>
<span class="k">return</span> <span class="n">res</span></div>
<span class="k">return</span> <span class="n">res</span>
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
<span class="k">def</span> <span class="nf">binid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the hex-string {TimeStamp}{SizeOfCode} used by PDB to identify a PE.</span>
<span class="sd"> I do not know the official name of this value...</span>
<span class="sd"> :type: :class:`str`</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">nth</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_NT_HEADER</span><span class="p">()</span>
<span class="n">timestamp</span> <span class="o">=</span> <span class="n">nth</span><span class="o">.</span><span class="n">FileHeader</span><span class="o">.</span><span class="n">TimeDateStamp</span>
<span class="n">image_size</span> <span class="o">=</span> <span class="n">nth</span><span class="o">.</span><span class="n">OptionalHeader</span><span class="o">.</span><span class="n">SizeOfImage</span>
<span class="k">return</span> <span class="s2">&quot;</span><span class="si">{timestamp:08x}{image_size:x}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">timestamp</span><span class="o">=</span><span class="n">timestamp</span><span class="p">,</span> <span class="n">image_size</span><span class="o">=</span><span class="n">image_size</span><span class="p">)</span></div>
</pre></div>
@@ -536,7 +549,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.pe_parse</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.pipe &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.pipe &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.pipe</a></li>
</ul>
@@ -228,7 +228,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.pipe</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.remotectypes &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.remotectypes &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.remotectypes</a></li>
</ul>
@@ -599,7 +599,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.remotectypes</a></li>
</ul>
+170 -19
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.rpc.client &#8212; PythonForWindows 1.0.1 documentation</title>
<title>windows.rpc.client &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=292eb321"></script>
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.client</a></li>
</ul>
@@ -101,11 +101,28 @@
<span class="p">(</span><span class="s2">&quot;orpc_ipid&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="p">)</span>
<span class="p">]</span>
<span class="c1"># Was an array of 6 DWORD, new class inspired by :</span>
<span class="c1"># https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools/blob/main/NtCoreLib/Win32/Rpc/Transport/Alpc/LRPC_IMMEDIATE_RESPONSE_MESSAGE.cs#L22</span>
<span class="k">class</span> <span class="nc">ALPC_RPC_RESPONSE</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span>
<span class="n">_pack_</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">(</span><span class="s2">&quot;request_type&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;UNK1&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;flags&quot;</span><span class="p">,</span><span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;request_id&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;UNK2&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">(</span><span class="s2">&quot;UNK3&quot;</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
<span class="p">]</span>
<div class="viewcode-block" id="RPCClient">
<a class="viewcode-back" href="../../../rpc.html#windows.rpc.RPCClient">[docs]</a>
<span class="k">class</span> <span class="nc">RPCClient</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;A client for RPC-over-ALPC able to bind to interface and perform calls using NDR32 marshalling&quot;&quot;&quot;</span>
<span class="n">REQUEST_IDENTIFIER</span> <span class="o">=</span> <span class="mh">0x11223344</span>
<span class="n">REQUEST_IDENTIFIER</span> <span class="o">=</span> <span class="mh">0x42424242</span>
<span class="c1"># Used to recognize ORPC call we made</span>
<span class="c1"># thus we know the response contains a orpcthat &amp; localthat</span>
<span class="n">REQUEST_IDENTIFIER_ORPC</span> <span class="o">=</span> <span class="mh">0x43434343</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">port</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">alpc_client</span> <span class="o">=</span> <span class="n">alpc</span><span class="o">.</span><span class="n">AlpcClient</span><span class="p">(</span><span class="n">port</span><span class="p">)</span> <span class="c1">#: The :class:`windows.alpc.AlpcClient` used to communicate with the server</span>
@@ -160,6 +177,10 @@
<span class="sd"> :param str params: The mashalled parameters (NDR32)</span>
<span class="sd"> :param GUID ipid: The IPID for `ORPC calls &lt;https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dcom/db1d5ce1-a783-4f3d-854c-dc44308e78fb&gt;`_</span>
<span class="sd"> :returns: :class:`str`</span>
<span class="sd"> .. note::</span>
<span class="sd"> Since `1.0.3` if the call is an ORPC call, the `ORPCTHAT` &amp; `LOCALTHAT` present in the response are parsed and striped from the result.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">forge_alpc_request</span><span class="p">(</span><span class="n">IID</span><span class="p">,</span> <span class="n">method_offset</span><span class="p">,</span> <span class="n">params</span><span class="p">,</span> <span class="n">ipid</span><span class="o">=</span><span class="n">ipid</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_send_request</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
@@ -188,17 +209,14 @@
<span class="n">req</span><span class="o">.</span><span class="n">if_nb</span> <span class="o">=</span> <span class="n">interface_nb</span>
<span class="n">req</span><span class="o">.</span><span class="n">method_offset</span> <span class="o">=</span> <span class="n">method_offset</span>
<span class="k">if</span> <span class="n">ipid</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">request_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">REQUEST_IDENTIFIER_ORPC</span>
<span class="n">req</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># We have a IPID</span>
<span class="n">req</span><span class="o">.</span><span class="n">orpc_ipid</span> <span class="o">=</span> <span class="n">ipid</span>
<span class="n">this</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHIS32</span><span class="p">()</span> <span class="c1"># we use NDR32</span>
<span class="n">this</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">7</span><span class="p">)</span>
<span class="n">this</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCF_LOCAL</span>
<span class="c1"># Not mandatory</span>
<span class="c1"># this.cid = gdef.GUID.from_string(&quot;42424242-4242-4242-4242-424242424242&quot;)</span>
<span class="n">lthis</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32</span><span class="p">()</span> <span class="c1"># we use NDR32</span>
<span class="c1"># RPC_E_INVALID_HEADER is NULL</span>
<span class="n">lthis</span><span class="o">.</span><span class="n">callTraceActivity</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="s2">&quot;42424242-4242-4242-4242-424242424242&quot;</span><span class="p">)</span>
<span class="n">lthis</span><span class="o">.</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span>
<span class="c1"># Returned correct type with mandatory fields filed</span>
<span class="n">lthis</span> <span class="o">=</span> <span class="n">find_correct_localthis_for_version</span><span class="p">()</span>
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">this</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">lthis</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
@@ -238,21 +256,154 @@
<span class="n">request_type</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">&quot;&lt;I&quot;</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[:</span><span class="mi">4</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
<span class="k">if</span> <span class="n">request_type</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">RPC_RESPONSE_TYPE_FAIL</span><span class="p">:</span>
<span class="n">error_code</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">&quot;&lt;5I&quot;</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;RPC Response error </span><span class="si">{0}</span><span class="s2"> (</span><span class="si">{1}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">error_code</span><span class="p">)))</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;RPC Response error </span><span class="si">{0}</span><span class="s2"> (</span><span class="si">{1!r}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">error_code</span><span class="p">)))</span>
<span class="k">return</span> <span class="n">request_type</span>
<span class="k">def</span> <span class="nf">_get_response_effective_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Response is a `AlpcMessage` needed to handle response in message vs response in view&quot;&quot;&quot;</span>
<span class="n">response_header</span> <span class="o">=</span> <span class="n">ALPC_RPC_RESPONSE</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="o">.</span><span class="n">view_is_valid</span><span class="p">:</span>
<span class="c1"># Reponse directly in PORT_MESSAGE</span>
<span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:]</span> <span class="c1"># 4 * 6</span>
<span class="c1"># Response in view M extract size from PORT_MESSAGE &amp; read data from view</span>
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">TotalLength</span> <span class="o">&gt;=</span> <span class="mh">0x48</span> <span class="c1"># At least 0x20 of data</span>
<span class="n">rpcdatasize</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">&quot;&lt;I&quot;</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:</span><span class="mh">0x1c</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">viewattr</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">view_attribute</span>
<span class="k">assert</span> <span class="n">viewattr</span><span class="o">.</span><span class="n">ViewSize</span> <span class="o">&gt;=</span> <span class="n">rpcdatasize</span>
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">viewattr</span><span class="o">.</span><span class="n">ViewBase</span><span class="p">,</span> <span class="n">rpcdatasize</span><span class="p">)</span></div>
<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ALPC_RPC_RESPONSE</span><span class="p">):]</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># Response in view M extract size from PORT_MESSAGE &amp; read data from view</span>
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">TotalLength</span> <span class="o">&gt;=</span> <span class="mh">0x48</span> <span class="c1"># At least 0x20 of data</span>
<span class="n">rpcdatasize</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">&quot;&lt;I&quot;</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:</span><span class="mh">0x1c</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># ctypes.sizeof(ALPC_RPC_RESPONSE)</span>
<span class="n">viewattr</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">view_attribute</span>
<span class="k">assert</span> <span class="n">viewattr</span><span class="o">.</span><span class="n">ViewSize</span> <span class="o">&gt;=</span> <span class="n">rpcdatasize</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">viewattr</span><span class="o">.</span><span class="n">ViewBase</span><span class="p">,</span> <span class="n">rpcdatasize</span><span class="p">)</span>
<span class="k">if</span> <span class="n">response_header</span><span class="o">.</span><span class="n">request_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">REQUEST_IDENTIFIER_ORPC</span><span class="p">:</span>
<span class="c1"># Parse &amp; remove ORPC headers (orpcthat + LocalThat)</span>
<span class="n">orpcthat</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHAT32</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">orpcthat</span><span class="p">):]</span>
<span class="k">if</span> <span class="n">orpcthat</span><span class="o">.</span><span class="n">extensions</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Parsing extension !&quot;</span><span class="p">)</span>
<span class="c1"># Parse extension : code have not been tested a lot</span>
<span class="n">write_array_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="p">):]</span>
<span class="k">if</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">rounded_size</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;orpcthat.extensions: WireExtentArray.rounded_size != 2&quot;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">unique_flag</span><span class="p">:</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pass_wire_extend</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="n">localthat_type</span> <span class="o">=</span> <span class="n">find_correct_localthat_for_version</span><span class="p">()</span>
<span class="k">if</span> <span class="n">localthat_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">localthat</span> <span class="o">=</span> <span class="n">localthat_type</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="c1"># Check localthat pointers are empty</span>
<span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;pAsyncResponseBlock&quot;</span><span class="p">,</span> <span class="s2">&quot;containerErrorInformation&quot;</span><span class="p">,</span> <span class="s2">&quot;containerPassthroughData&quot;</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">localthat</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;ORPC Response with localthat.</span><span class="si">{0}</span><span class="s2"> != 0&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">field</span><span class="p">))</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">localthat</span><span class="p">):]</span>
<span class="k">return</span> <span class="n">data</span>
<span class="k">def</span> <span class="nf">_pass_wire_extend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
<span class="n">wire_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtent</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="c1"># We don&#39;t care -&gt; jump over the size only</span>
<span class="k">return</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtent</span><span class="p">)</span> <span class="o">+</span> <span class="n">wire_extend</span><span class="o">.</span><span class="n">rounded_size</span><span class="p">:]</span></div>
<span class="c1"># Based on combase.dll analysis</span>
<span class="c1"># LOCALTHIS</span>
<span class="c1"># Nb fields: 2</span>
<span class="c1"># 6.1.7601.17514 -&gt; 6.2.9200.22376</span>
<span class="c1"># * 6.1.7601.17514</span>
<span class="c1"># * 6.1.7601.17514</span>
<span class="c1"># * 6.2.9200.22376</span>
<span class="c1"># Nb fields: 4</span>
<span class="c1"># 6.3.9600.17031 -&gt; 6.3.9600.20772</span>
<span class="c1"># * 6.3.9600.17031</span>
<span class="c1"># * 6.3.9600.20772</span>
<span class="c1"># Nb fields: 5</span>
<span class="c1"># 10.0.10240.16384 -&gt; 10.0.15063.2679</span>
<span class="c1"># Nb fields: 7</span>
<span class="c1"># 10.0.16299.1 -&gt; 10.0.26100.2454</span>
<span class="k">def</span> <span class="nf">find_correct_localthis_for_version</span><span class="p">():</span>
<span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span>
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">&lt;</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">1</span><span class="p">):</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="ow">in</span> <span class="p">((</span><span class="mi">6</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">2</span><span class="p">)):</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_62</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
<span class="k">elif</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">3</span><span class="p">):</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_63</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
<span class="k">assert</span> <span class="n">vmaj</span> <span class="o">==</span> <span class="mi">10</span>
<span class="n">vnumber</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">get_file_version</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;C:\windows\system32\combase.dll&quot;</span><span class="p">)</span>
<span class="c1"># Extract version number from combase</span>
<span class="c1"># as it was used to find the struct per version</span>
<span class="n">build_number</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">vnumber</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
<span class="k">if</span> <span class="n">build_number</span> <span class="o">&lt;=</span> <span class="mi">15063</span><span class="p">:</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_1607</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32</span><span class="p">(</span><span class="n">callTraceActivity</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="s2">&quot;42424242-4242-4242-4242-424242424242&quot;</span><span class="p">),</span>
<span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
<span class="c1"># LOCALTHAT</span>
<span class="c1"># Nb fields: 2</span>
<span class="c1"># 6.3.9600.17031 -&gt; 6.3.9600.20772</span>
<span class="c1"># * 6.3.9600.17031</span>
<span class="c1"># * 6.3.9600.17031</span>
<span class="c1"># * 6.3.9600.17031</span>
<span class="c1"># * 6.3.9600.20772</span>
<span class="c1"># Nb fields: 3</span>
<span class="c1"># 10.0.18362.900 -&gt; 10.0.18362.1916</span>
<span class="c1"># * 10.0.18362.900</span>
<span class="c1"># * 10.0.18362.900</span>
<span class="c1"># * 10.0.18362.1016</span>
<span class="c1"># * 10.0.18362.1916</span>
<span class="c1"># Nb fields: 4</span>
<span class="c1"># 10.0.10240.16384 -&gt; 10.0.17763.6040</span>
<span class="c1"># * 10.0.10240.16384</span>
<span class="c1"># * 10.0.10240.16384</span>
<span class="c1"># * 10.0.10240.20747</span>
<span class="c1"># * 10.0.10586.0</span>
<span class="c1"># * 10.0.14393.576</span>
<span class="c1"># * 10.0.14393.6451</span>
<span class="c1"># * 10.0.14393.7426</span>
<span class="c1"># * 10.0.15063.251</span>
<span class="c1"># * 10.0.15063.1563</span>
<span class="c1"># * 10.0.15063.2500</span>
<span class="c1"># * 10.0.15063.2679</span>
<span class="c1"># * 10.0.16299.1</span>
<span class="c1"># * 10.0.16299.15</span>
<span class="c1"># * 10.0.17134.1</span>
<span class="c1"># * 10.0.17134.48</span>
<span class="c1"># * 10.0.17134.2145</span>
<span class="c1"># * 10.0.17134.2145</span>
<span class="c1"># * 10.0.17763.1</span>
<span class="c1"># * 10.0.17763.2931</span>
<span class="c1"># * 10.0.17763.6040</span>
<span class="c1"># Nb fields: 5</span>
<span class="c1"># 10.0.19039.1 -&gt; 10.0.26100.2454</span>
<span class="c1"># * 10.0.19039.1</span>
<span class="c1"># * 10.0.19041.84</span>
<span class="c1"># * 10.0.19041.4894</span>
<span class="c1"># * 10.0.22000.65</span>
<span class="c1"># * 10.0.22621.2792</span>
<span class="c1"># * 10.0.22621.3958</span>
<span class="c1"># * 10.0.22621.4111</span>
<span class="c1"># * 10.0.22621.4541</span>
<span class="c1"># * 10.0.26100.2454</span>
<span class="c1"># * 10.0.26100.2454</span>
<span class="k">def</span> <span class="nf">find_correct_localthat_for_version</span><span class="p">():</span>
<span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span>
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">&lt;</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">3</span><span class="p">):</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="k">elif</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">3</span><span class="p">):</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_NT_63</span>
<span class="k">assert</span> <span class="n">vmaj</span> <span class="o">==</span> <span class="mi">10</span>
<span class="n">vnumber</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">get_file_version</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;C:\windows\system32\combase.dll&quot;</span><span class="p">)</span>
<span class="c1"># Extract version number from combase</span>
<span class="c1"># as it was used to find the struct per version</span>
<span class="n">build_number</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">vnumber</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
<span class="k">if</span> <span class="n">build_number</span> <span class="o">&lt;=</span> <span class="mi">17763</span><span class="p">:</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_NT_1607</span>
<span class="k">elif</span> <span class="n">build_number</span> <span class="o">==</span> <span class="mi">18362</span><span class="p">:</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_10_1903</span>
<span class="k">elif</span> <span class="n">build_number</span> <span class="o">&gt;=</span> <span class="mi">19039</span><span class="p">:</span>
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32</span>
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;Unknown LOCALTHAT32 structure for version </span><span class="si">{0}</span><span class="s2">, please share me your combase.dll file&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">versionstr</span><span class="p">))</span>
</pre></div>
<div class="clearer"></div>
@@ -284,7 +435,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.client</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.rpc.epmapper &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.rpc.epmapper &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.epmapper</a></li>
</ul>
@@ -273,7 +273,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.epmapper</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.rpc.ndr &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.rpc.ndr &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.ndr</a></li>
</ul>
@@ -757,7 +757,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.rpc.ndr</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.security &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.security &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.security</a></li>
</ul>
@@ -1386,7 +1386,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.security</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.syswow64 &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.syswow64 &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.syswow64</a></li>
</ul>
@@ -432,7 +432,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.syswow64</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.utils.pythonutils &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.utils.pythonutils &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.utils.pythonutils</a></li>
</ul>
@@ -186,7 +186,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.utils.pythonutils</a></li>
</ul>
+9 -9
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.utils.winutils &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.utils.winutils &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.utils.winutils</a></li>
</ul>
@@ -620,11 +620,11 @@
<span class="k">def</span> <span class="nf">create_file</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">access</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">GENERIC_READ</span><span class="p">,</span> <span class="n">share</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">FILE_SHARE_READ</span><span class="p">,</span> <span class="n">security</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">creation</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">OPEN_EXISTING</span><span class="p">,</span> <span class="n">flags</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">FILE_ATTRIBUTE_NORMAL</span><span class="p">):</span>
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CreateFileW</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">access</span><span class="p">,</span> <span class="n">share</span><span class="p">,</span> <span class="n">security</span><span class="p">,</span> <span class="n">creation</span><span class="p">,</span> <span class="n">flags</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">mapfile</span><span class="p">(</span><span class="n">file</span><span class="p">):</span>
<span class="n">fhandle</span> <span class="o">=</span> <span class="n">get_handle_from_file</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
<span class="n">h</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CreateFileMappingA</span><span class="p">(</span><span class="n">fhandle</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">PAGE_READONLY</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
<span class="n">addr</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">MapViewOfFile</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">dwDesiredAccess</span><span class="o">=</span><span class="n">FILE_MAP_READ</span><span class="p">,</span> <span class="n">dwNumberOfBytesToMap</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="k">return</span> <span class="n">addr</span>
<span class="c1">#def mapfile(file):</span>
<span class="c1"># fhandle = get_handle_from_file(file)</span>
<span class="c1"># h = windows.winproxy.CreateFileMappingA(fhandle, None, PAGE_READONLY, 0, 1, None)</span>
<span class="c1"># addr = windows.winproxy.MapViewOfFile(h, dwDesiredAccess=FILE_MAP_READ, dwNumberOfBytesToMap=1)</span>
<span class="c1"># return addr</span>
<span class="k">def</span> <span class="nf">decompress_buffer</span><span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="n">comptype</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">COMPRESSION_FORMAT_LZNT1</span><span class="p">,</span> <span class="n">uncompress_size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="k">if</span> <span class="n">uncompress_size</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
@@ -752,7 +752,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.utils.winutils</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.apisetmap &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.apisetmap &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.apisetmap</a></li>
</ul>
@@ -264,7 +264,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.apisetmap</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.device_manager &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.device_manager &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.device_manager</a></li>
</ul>
@@ -638,7 +638,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.device_manager</a></li>
</ul>
+5 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.event_log &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.event_log &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_log</a></li>
</ul>
@@ -437,6 +437,7 @@
<span class="n">gdef</span><span class="o">.</span><span class="n">EvtVarTypeUInt16</span> <span class="o">+</span> <span class="n">gdef</span><span class="o">.</span><span class="n">EVT_VARIANT_TYPE_ARRAY</span> <span class="p">:</span> <span class="s2">&quot;UInt16Arr&quot;</span><span class="p">,</span>
<span class="n">gdef</span><span class="o">.</span><span class="n">EvtVarTypeUInt32</span> <span class="o">+</span> <span class="n">gdef</span><span class="o">.</span><span class="n">EVT_VARIANT_TYPE_ARRAY</span> <span class="p">:</span> <span class="s2">&quot;UInt32Arr&quot;</span><span class="p">,</span>
<span class="n">gdef</span><span class="o">.</span><span class="n">EvtVarTypeUInt64</span> <span class="o">+</span> <span class="n">gdef</span><span class="o">.</span><span class="n">EVT_VARIANT_TYPE_ARRAY</span> <span class="p">:</span> <span class="s2">&quot;UInt64Arr&quot;</span><span class="p">,</span>
<span class="n">gdef</span><span class="o">.</span><span class="n">EvtVarTypeHexInt64</span> <span class="o">+</span> <span class="n">gdef</span><span class="o">.</span><span class="n">EVT_VARIANT_TYPE_ARRAY</span> <span class="p">:</span> <span class="s2">&quot;UInt64Arr&quot;</span><span class="p">,</span>
<span class="p">}</span>
<span class="n">NoneValue</span> <span class="o">=</span> <span class="kc">None</span>
@@ -1278,7 +1279,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_log</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.event_trace &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.event_trace &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_trace</a></li>
</ul>
@@ -556,7 +556,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_trace</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.exception &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.exception &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.exception</a></li>
</ul>
@@ -485,7 +485,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.exception</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.handle &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.handle &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.handle</a></li>
</ul>
@@ -267,7 +267,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.handle</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.network &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.network &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.network</a></li>
</ul>
@@ -533,7 +533,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.network</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.object_manager &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.object_manager &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.object_manager</a></li>
</ul>
@@ -317,7 +317,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.object_manager</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.process &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.process &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.process</a></li>
</ul>
@@ -1727,7 +1727,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.process</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.registry &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.registry &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.registry</a></li>
</ul>
@@ -610,7 +610,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.registry</a></li>
</ul>
+20 -6
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.service &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.service &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.service</a></li>
</ul>
@@ -193,7 +193,13 @@
<span class="k">def</span> <span class="nf">enumerate_services</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_enumerate_services_generator</span><span class="p">())</span>
<span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">description</span><span class="p">,</span> <span class="n">access</span><span class="p">,</span> <span class="nb">type</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
<div class="viewcode-block" id="ServiceManager.create">
<a class="viewcode-back" href="../../../service.html#windows.winobject.service.ServiceManager.create">[docs]</a>
<span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">description</span><span class="p">,</span> <span class="n">access</span><span class="p">,</span> <span class="nb">type</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Create a new service</span>
<span class="sd"> :return: :class:`Service` -- The newly created service</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">newservice_handle</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CreateServiceW</span><span class="p">(</span>
<span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="c1"># hSCManager</span>
<span class="n">name</span><span class="p">,</span> <span class="c1"># lpServiceName</span>
@@ -206,10 +212,11 @@
<span class="kc">None</span><span class="p">,</span> <span class="c1"># lpLoadOrderGroup</span>
<span class="kc">None</span><span class="p">,</span> <span class="c1"># lpdwTagId</span>
<span class="kc">None</span><span class="p">,</span> <span class="c1"># lpDependencies</span>
<span class="kc">None</span><span class="p">,</span> <span class="c1"># lpServiceStartName</span>
<span class="n">user</span><span class="p">,</span> <span class="c1"># lpServiceStartName</span>
<span class="kc">None</span><span class="p">)</span> <span class="c1"># lpPassword</span>
<span class="k">return</span> <span class="n">Service</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">newservice_handle</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="n">description</span><span class="p">)</span></div>
</div>
@@ -291,6 +298,13 @@
<span class="k">return</span> <span class="n">status</span></div>
<div class="viewcode-block" id="Service.delete">
<a class="viewcode-back" href="../../../service.html#windows.winobject.service.Service.delete">[docs]</a>
<span class="k">def</span> <span class="nf">delete</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Delete the service&quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">DeleteService</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span></div>
<span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="n">urepr_encode</span><span class="p">(</span><span class="sa">u</span><span class="s2">&quot;&quot;&quot;&lt;</span><span class="si">{0}</span><span class="s2"> &quot;</span><span class="si">{1}</span><span class="s2">&quot; </span><span class="si">{2!r}</span><span class="s2">&gt;&quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">state</span><span class="p">))</span>
@@ -328,7 +342,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.service</a></li>
</ul>
+17 -5
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.system &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.system &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.system</a></li>
</ul>
@@ -506,8 +506,9 @@
<span class="n">bufstr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">bufptr</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LPWSTR</span><span class="p">)</span>
<span class="k">return</span> <span class="n">bufstr</span><span class="o">.</span><span class="n">value</span>
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
<span class="k">def</span> <span class="nf">build_number</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the `CurrentBuildNumber`&quot;&quot;&quot;</span>
<span class="c1"># Will only work on Windows 10 ?</span>
<span class="n">build</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">kuser_shared_data</span><span class="o">.</span><span class="n">NtBuildNumber</span>
<span class="k">if</span> <span class="n">build</span><span class="p">:</span> <span class="c1"># 0 before windows 10</span>
@@ -516,6 +517,17 @@
<span class="n">key</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">registry</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">key</span><span class="p">[</span><span class="s2">&quot;CurrentBuildNumber&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
<span class="k">def</span> <span class="nf">display_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the `DisplayVersion` (22H2, 23H2, ...) is it exists, else None&quot;&quot;&quot;</span>
<span class="n">key</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">registry</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion&quot;</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">return</span> <span class="n">key</span><span class="p">[</span><span class="s2">&quot;DisplayVersion&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value</span>
<span class="k">except</span> <span class="ne">WindowsError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">e</span><span class="o">.</span><span class="n">winerror</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ERROR_FILE_NOT_FOUND</span><span class="p">:</span>
<span class="k">raise</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
<span class="k">def</span> <span class="nf">versionstr</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c1"># Best effort. use get_file_version if registry code fails</span>
@@ -651,7 +663,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.system</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.system_module &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.system_module &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.system_module</a></li>
</ul>
@@ -130,7 +130,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.system_module</a></li>
</ul>
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.task_scheduler &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.task_scheduler &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.task_scheduler</a></li>
</ul>
@@ -625,7 +625,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.task_scheduler</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.token &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.token &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.token</a></li>
</ul>
@@ -739,7 +739,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.token</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.volume &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.volume &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.volume</a></li>
</ul>
@@ -165,7 +165,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.volume</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winobject.wmi &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winobject.wmi &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.wmi</a></li>
</ul>
@@ -676,7 +676,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winobject.wmi</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winproxy.apiproxy &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winproxy.apiproxy &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winproxy.apiproxy</a></li>
</ul>
@@ -196,7 +196,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winproxy.apiproxy</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.winproxy.error &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.winproxy.error &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
<script src="../../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winproxy.error</a></li>
</ul>
@@ -150,7 +150,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.winproxy.error</a></li>
</ul>
+4 -4
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>windows.wintrust &#8212; PythonForWindows 1.0.0 documentation</title>
<title>windows.wintrust &#8212; PythonForWindows 1.0.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
<script src="../../_static/documentation_options.js?v=8d563738"></script>
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.wintrust</a></li>
</ul>
@@ -268,7 +268,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">windows.wintrust</a></li>
</ul>
+10 -10
View File
@@ -2,16 +2,6 @@
Interfaces
----------
.. class:: IActivationStageInfo
.. method:: QueryInterface
.. method:: AddRef
.. method:: Release
.. method:: SetStageAndIndex
.. method:: GetStage
.. method:: GetIndex
.. class:: ICallFactory
.. method:: QueryInterface
@@ -722,6 +712,16 @@ Interfaces
.. method:: GetReturnActivationProperties
.. class:: IActivationStageInfo
.. method:: QueryInterface
.. method:: AddRef
.. method:: Release
.. method:: SetStageAndIndex
.. method:: GetStage
.. method:: GetIndex
.. class:: IClassClassicInfo
.. method:: QueryInterface
+10
View File
@@ -103,7 +103,17 @@ Output
.. literalinclude:: samples_output\service_service_demo.txt
Windows Service in Python
'''''''''''''''''''''''''
This script can register itself as a service and act on `stop` request.
It also can delete its own service.
.. literalinclude:: ..\..\samples\service\python_service.py
Output
.. literalinclude:: samples_output\service_python_service.txt
.. _sample_network_exploration:
+18
View File
@@ -488,6 +488,12 @@ Functions
.. function:: LockFileEx(hFile, dwFlags, dwReserved, nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh, lpOverlapped)
.. function:: SetFileInformationByHandle(hFile, FileInformationClass, lpFileInformation, dwBufferSize)
.. function:: GetFileInformationByHandle(hFile, lpFileInformation)
.. function:: GetFileInformationByHandleEx(hFile, FileInformationClass, lpFileInformation, dwBufferSize)
.. function:: HeapAlloc(hHeap, dwFlags, dwBytes)
.. function:: InternetCheckConnectionA(lpszUrl, dwFlags, dwReserved)
@@ -916,6 +922,18 @@ Functions
.. function:: StartServiceCtrlDispatcherW(lpServiceStartTable)
.. function:: RegisterServiceCtrlHandlerExA(lpServiceName, lpHandlerProc, lpContext)
.. function:: RegisterServiceCtrlHandlerExW(lpServiceName, lpHandlerProc, lpContext)
.. function:: RegisterServiceCtrlHandlerA(lpServiceName, lpHandlerProc)
.. function:: RegisterServiceCtrlHandlerW(lpServiceName, lpHandlerProc)
.. function:: SetServiceStatus(hServiceStatus, lpServiceStatus)
.. function:: SetServiceBits(hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately)
.. function:: SetupDiClassNameFromGuidA(ClassGuid, ClassName, ClassNameSize, RequiredSize)
.. function:: SetupDiClassNameFromGuidW(ClassGuid, ClassName, ClassNameSize, RequiredSize)
+161
View File
@@ -511,6 +511,10 @@ Simple types
.. autoclass:: PDNS_QUERY_COMPLETION_ROUTINE
.. autoclass:: LPHANDLER_FUNCTION
.. autoclass:: LPHANDLER_FUNCTION_EX
.. autoclass:: LPCONTEXT
.. autoclass:: HCERTSTORE
@@ -21089,6 +21093,71 @@ _FILE_GET_EA_INFORMATION
:class:`CHAR`
_BY_HANDLE_FILE_INFORMATION
'''''''''''''''''''''''''''
.. class:: BY_HANDLE_FILE_INFORMATION
Alias for :class:`_BY_HANDLE_FILE_INFORMATION`
.. class:: LPBY_HANDLE_FILE_INFORMATION
Pointer to :class:`_BY_HANDLE_FILE_INFORMATION`
.. class:: PBY_HANDLE_FILE_INFORMATION
Pointer to :class:`_BY_HANDLE_FILE_INFORMATION`
.. class:: _BY_HANDLE_FILE_INFORMATION
.. attribute:: dwFileAttributes
:class:`DWORD`
.. attribute:: ftCreationTime
:class:`FILETIME`
.. attribute:: ftLastAccessTime
:class:`FILETIME`
.. attribute:: ftLastWriteTime
:class:`FILETIME`
.. attribute:: dwVolumeSerialNumber
:class:`DWORD`
.. attribute:: nFileSizeHigh
:class:`DWORD`
.. attribute:: nFileSizeLow
:class:`DWORD`
.. attribute:: nNumberOfLinks
:class:`DWORD`
.. attribute:: nFileIndexHigh
:class:`DWORD`
.. attribute:: nFileIndexLow
:class:`DWORD`
tagVS_FIXEDFILEINFO
'''''''''''''''''''
.. class:: VS_FIXEDFILEINFO
@@ -32567,6 +32636,98 @@ _FILE_INFORMATION_CLASS
.. attribute:: FileMaximumInformation(67)
_FILE_INFO_BY_HANDLE_CLASS
''''''''''''''''''''''''''
.. class:: FILE_INFO_BY_HANDLE_CLASS
Alias for :class:`_FILE_INFO_BY_HANDLE_CLASS`
.. class:: PFILE_INFO_BY_HANDLE_CLASS
Pointer to :class:`_FILE_INFO_BY_HANDLE_CLASS`
.. class:: _FILE_INFO_BY_HANDLE_CLASS
.. attribute:: FileBasicInfo(0)
.. attribute:: FileStandardInfo(1)
.. attribute:: FileNameInfo(2)
.. attribute:: FileRenameInfo(3)
.. attribute:: FileDispositionInfo(4)
.. attribute:: FileAllocationInfo(5)
.. attribute:: FileEndOfFileInfo(6)
.. attribute:: FileStreamInfo(7)
.. attribute:: FileCompressionInfo(8)
.. attribute:: FileAttributeTagInfo(9)
.. attribute:: FileIdBothDirectoryInfo(10)
.. attribute:: FileIdBothDirectoryRestartInfo(11)
.. attribute:: FileIoPriorityHintInfo(12)
.. attribute:: FileRemoteProtocolInfo(13)
.. attribute:: FileFullDirectoryInfo(14)
.. attribute:: FileFullDirectoryRestartInfo(15)
.. attribute:: FileStorageInfo(16)
.. attribute:: FileAlignmentInfo(17)
.. attribute:: FileIdInfo(18)
.. attribute:: FileIdExtdDirectoryInfo(19)
.. attribute:: FileIdExtdDirectoryRestartInfo(20)
.. attribute:: FileDispositionInfoEx(21)
.. attribute:: FileRenameInfoEx(22)
.. attribute:: FileCaseSensitiveInfo(23)
.. attribute:: FileNormalizedNameInfo(24)
.. attribute:: MaximumFileInfoByHandleClass(25)
_IO_PRIORITY_HINT
'''''''''''''''''
.. class:: IO_PRIORITY_HINT
+1 -1
View File
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '1.0.1',
VERSION: '1.0.3',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>12. windows.alpc Advanced Local Procedure Call &#8212; PythonForWindows 1.0.1 documentation</title>
<title>12. windows.alpc Advanced Local Procedure Call &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="crypto.html" title="11. windows.crypto CryptoAPI"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> Advanced Local Procedure Call</a></li>
</ul>
</div>
@@ -544,7 +544,7 @@ ALPC messages over an ALPC port and the classes representing these messages.</p>
<li class="right" >
<a href="crypto.html" title="11. windows.crypto CryptoAPI"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> Advanced Local Procedure Call</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>10. windows.com - Component Object Model &#8212; PythonForWindows 1.0.1 documentation</title>
<title>10. windows.com - Component Object Model &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="debug.html" title="9. windows.debug Debugging"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
</ul>
</div>
@@ -204,7 +204,7 @@ You can then use the instance to call whatever method you need.</p>
<li class="right" >
<a href="debug.html" title="9. windows.debug Debugging"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>11. windows.crypto CryptoAPI &#8212; PythonForWindows 1.0.1 documentation</title>
<title>11. windows.crypto CryptoAPI &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="com.html" title="10. windows.com - Component Object Model"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> CryptoAPI</a></li>
</ul>
</div>
@@ -774,7 +774,7 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
<li class="right" >
<a href="com.html" title="10. windows.com - Component Object Model"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> CryptoAPI</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>9. windows.debug Debugging &#8212; PythonForWindows 1.0.1 documentation</title>
<title>9. windows.debug Debugging &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="wintrust.html" title="8. windows.wintrust Checking signature"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> Debugging</a></li>
</ul>
</div>
@@ -1404,7 +1404,7 @@ If the symbol include a displacement, it is not taken into account</p>
<li class="right" >
<a href="wintrust.html" title="8. windows.wintrust Checking signature"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> Debugging</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2.14. Device Manager &#8212; PythonForWindows 1.0.1 documentation</title>
<title>2.14. Device Manager &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="object_manager.html" title="2.13. Object Manager Kernel objects"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
</ul>
@@ -964,7 +964,7 @@ This class is a base class, all resources returned by <a class="reference intern
<li class="right" >
<a href="object_manager.html" title="2.13. Object Manager Kernel objects"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
</ul>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>19. Python, Windows &amp; encoding &#8212; PythonForWindows 1.0.1 documentation</title>
<title>19. Python, Windows &amp; encoding &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -30,7 +30,7 @@
<li class="right" >
<a href="sample.html" title="18. Samples of code"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows &amp; encoding</a></li>
</ul>
</div>
@@ -347,7 +347,7 @@ Unicode object repr: &lt;MyUtf8Object name=&quot;お前はもう死んでい-к
<li class="right" >
<a href="sample.html" title="18. Samples of code"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows &amp; encoding</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2.17. ETW Event Tracing for Windows &#8212; PythonForWindows 1.0.1 documentation</title>
<title>2.17. ETW Event Tracing for Windows &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="evtlog.html" title="2.16. Event Log"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW Event Tracing for Windows</a></li>
</ul>
@@ -376,7 +376,7 @@ This allow for simpler script that stop/start some EtwTrace.</p>
<li class="right" >
<a href="evtlog.html" title="2.16. Event Log"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW Event Tracing for Windows</a></li>
</ul>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2.16. Event Log &#8212; PythonForWindows 1.0.1 documentation</title>
<title>2.16. Event Log &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="task_scheduler.html" title="2.15. Task scheduler"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
</ul>
@@ -1051,7 +1051,7 @@ Retrieved by parsing <a class="reference internal" href="#windows.winobject.even
<li class="right" >
<a href="task_scheduler.html" title="2.15. Task scheduler"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
</ul>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2.5. Exception and Context related structures &#8212; PythonForWindows 1.0.1 documentation</title>
<title>2.5. Exception and Context related structures &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="token.html" title="2.4. Token"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
</ul>
@@ -669,7 +669,7 @@ Most of the structures are the Windows structure with a prefix <code class="docu
<li class="right" >
<a href="token.html" title="2.4. Token"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
</ul>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>14. windows.generated_def generated Windows defines and structures &#8212; PythonForWindows 1.0.1 documentation</title>
<title>14. windows.generated_def generated Windows defines and structures &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="rpc.html" title="13. windows.rpc ALPC-based Windows RPC"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> generated Windows defines and structures</a></li>
</ul>
</div>
@@ -185,7 +185,7 @@
<li class="right" >
<a href="rpc.html" title="13. windows.rpc ALPC-based Windows RPC"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> generated Windows defines and structures</a></li>
</ul>
</div>
+144 -26
View File
@@ -4,12 +4,12 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; PythonForWindows 1.0.1 documentation</title>
<title>Index &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -25,7 +25,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
@@ -303,6 +303,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BG_JOB_TIMES">_BG_JOB_TIMES (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BG_JOB_TYPE">_BG_JOB_TYPE (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION">_BY_HANDLE_FILE_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._CALLFRAME_COPY">_CALLFRAME_COPY (class in windows.generated_def.winstructs)</a>
</li>
@@ -669,6 +671,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_FULL_EA_INFORMATION">_FILE_FULL_EA_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_GET_EA_INFORMATION">_FILE_GET_EA_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS">_FILE_INFO_BY_HANDLE_CLASS (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS">_FILE_INFORMATION_CLASS (class in windows.generated_def.winstructs)</a>
</li>
@@ -755,11 +759,11 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_CBA_EVENTW">_IMAGEHLP_CBA_EVENTW (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_CBA_READ_MEMORY">_IMAGEHLP_CBA_READ_MEMORY (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_DEFERRED_SYMBOL_LOAD">_IMAGEHLP_DEFERRED_SYMBOL_LOAD (class in windows.generated_def.winstructs)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_DEFERRED_SYMBOL_LOAD">_IMAGEHLP_DEFERRED_SYMBOL_LOAD (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_DEFERRED_SYMBOL_LOAD64">_IMAGEHLP_DEFERRED_SYMBOL_LOAD64 (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGEHLP_DEFERRED_SYMBOL_LOADW64">_IMAGEHLP_DEFERRED_SYMBOL_LOADW64 (class in windows.generated_def.winstructs)</a>
@@ -3344,10 +3348,10 @@
</ul></li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IMoniker.BindToObject">BindToObject() (windows.generated_def.interfaces.IMoniker method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IMoniker.BindToStorage">BindToStorage() (windows.generated_def.interfaces.IMoniker method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.ITypeComp.BindType">BindType() (windows.generated_def.interfaces.ITypeComp method)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._SECURITY_ATTRIBUTES.bInheritHandle">bInheritHandle (windows.generated_def.winstructs._SECURITY_ATTRIBUTES attribute)</a>
@@ -3572,6 +3576,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._TRACE_LOGFILE_HEADER.BuffersWritten">(windows.generated_def.winstructs._TRACE_LOGFILE_HEADER attribute)</a>
</li>
</ul></li>
<li><a href="windows.html#windows.winobject.system.System.build_number">build_number (windows.winobject.system.System property)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.BuildSecurityDescriptorW">BuildSecurityDescriptorW() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._KDHELP64.BuildVersion">BuildVersion (windows.generated_def.winstructs._KDHELP64 attribute)</a>
@@ -3619,6 +3625,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._ANON_TMP_variant_sub_union.bVal">bVal (windows.generated_def.winstructs._ANON_TMP_variant_sub_union attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._PUBLICKEYSTRUC.bVersion">bVersion (windows.generated_def.winstructs._PUBLICKEYSTRUC attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.BY_HANDLE_FILE_INFORMATION">BY_HANDLE_FILE_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._ANON_TMP_variant_sub_union.byref">byref (windows.generated_def.winstructs._ANON_TMP_variant_sub_union attribute)</a>
</li>
@@ -6710,6 +6718,8 @@
<li><a href="etw.html#windows.winobject.event_trace.EventTraceProperties.create">(windows.winobject.event_trace.EventTraceProperties class method)</a>
</li>
<li><a href="registry.html#windows.winobject.registry.PyHKey.create">(windows.winobject.registry.PyHKey method)</a>
</li>
<li><a href="service.html#windows.winobject.service.ServiceManager.create">(windows.winobject.service.ServiceManager method)</a>
</li>
<li><a href="task_scheduler.html#windows.winobject.task_scheduler.ActionCollection.create">(windows.winobject.task_scheduler.ActionCollection method)</a>
</li>
@@ -8063,7 +8073,11 @@
</li>
</ul></li>
<li><a href="registry.html#windows.winobject.registry.PyHKey.delete">delete() (windows.winobject.registry.PyHKey method)</a>
<ul>
<li><a href="service.html#windows.winobject.service.Service.delete">(windows.winobject.service.Service method)</a>
</li>
</ul></li>
<li><a href="task_scheduler.html#windows.winobject.task_scheduler.TaskFolder.delete_folder">delete_folder() (windows.winobject.task_scheduler.TaskFolder method)</a>
</li>
<li><a href="wmi.html#windows.winobject.wmi.WmiNamespace.delete_instance">delete_instance() (windows.winobject.wmi.WmiNamespace method)</a>
@@ -8307,6 +8321,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DISPID">DISPID (in module windows.generated_def.winstructs)</a>
</li>
<li><a href="debug.html#windows.debug.symbols.SymbolInfoA.displacement">displacement (windows.debug.symbols.SymbolInfoA attribute)</a>
</li>
<li><a href="windows.html#windows.winobject.system.System.display_version">display_version (windows.winobject.system.System property)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DISPPARAMS">DISPPARAMS (class in windows.generated_def.winstructs)</a>
</li>
@@ -9470,9 +9486,11 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DNS_TKEY_DATAW.dwExpireTime">(windows.generated_def.winstructs.DNS_TKEY_DATAW attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.dwFileAttributes">dwFileAttributes (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.dwFileAttributes">dwFileAttributes (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.dwFileAttributes">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.dwFileAttributes">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
@@ -10144,6 +10162,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._CTL_INFO.dwVersion">(windows.generated_def.winstructs._CTL_INFO attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.dwVolumeSerialNumber">dwVolumeSerialNumber (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._SERVICE_STATUS.dwWaitHint">dwWaitHint (windows.generated_def.winstructs._SERVICE_STATUS attribute)</a>
<ul>
@@ -19543,6 +19563,8 @@
<li><a href="windef_generated.html#windows.generated_def.FILE_GENERIC_WRITE">FILE_GENERIC_WRITE (in module windows.generated_def)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.FILE_GET_EA_INFORMATION">FILE_GET_EA_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.FILE_INFO_BY_HANDLE_CLASS">FILE_INFO_BY_HANDLE_CLASS (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.FILE_INFORMATION_CLASS">FILE_INFORMATION_CLASS (class in windows.generated_def.winstructs)</a>
</li>
@@ -19746,9 +19768,13 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._IMAGE_OPTIONAL_HEADER64.FileAlignment">(windows.generated_def.winstructs._IMAGE_OPTIONAL_HEADER64 attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileAlignmentInfo">FileAlignmentInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileAlignmentInformation">FileAlignmentInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileAllInformation">FileAllInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileAllocationInfo">FileAllocationInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileAllocationInformation">FileAllocationInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19764,23 +19790,37 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION.FileAttributes">(windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileAttributeTagInfo">FileAttributeTagInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileAttributeTagInformation">FileAttributeTagInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileBasicInfo">FileBasicInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileBasicInformation">FileBasicInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileBothDirectoryInformation">FileBothDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileCaseSensitiveInfo">FileCaseSensitiveInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileCompletionInformation">FileCompletionInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileCompressionInfo">FileCompressionInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileCompressionInformation">FileCompressionInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileDirectoryInformation">FileDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileDispositionInfo">FileDispositionInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileDispositionInfoEx">FileDispositionInfoEx (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileDispositionInformation">FileDispositionInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileDispositionInformationEx">FileDispositionInformationEx (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileEaInformation">FileEaInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileEndOfFileInfo">FileEndOfFileInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileEndOfFileInformation">FileEndOfFileInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19805,8 +19845,12 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FS_INFORMATION_CLASS.FileFsVolumeFlagsInformation">FileFsVolumeFlagsInformation (windows.generated_def.winstructs._FS_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FS_INFORMATION_CLASS.FileFsVolumeInformation">FileFsVolumeInformation (windows.generated_def.winstructs._FS_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryInfo">FileFullDirectoryInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileFullDirectoryInformation">FileFullDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryRestartInfo">FileFullDirectoryRestartInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileFullEaInformation">FileFullEaInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19821,22 +19865,34 @@
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION.FileId">FileId (windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIdBothDirectoryInfo">FileIdBothDirectoryInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdBothDirectoryInformation">FileIdBothDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIdBothDirectoryRestartInfo">FileIdBothDirectoryRestartInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdExtdBothDirectoryInformation">FileIdExtdBothDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIdExtdDirectoryInfo">FileIdExtdDirectoryInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdExtdDirectoryInformation">FileIdExtdDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIdExtdDirectoryRestartInfo">FileIdExtdDirectoryRestartInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdFullDirectoryInformation">FileIdFullDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdGlobalTxDirectoryInformation">FileIdGlobalTxDirectoryInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIdInfo">FileIdInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIdInformation">FileIdInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileInternalInformation">FileInternalInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIoCompletionNotificationInformation">FileIoCompletionNotificationInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileIoPriorityHintInfo">FileIoPriorityHintInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileIoPriorityHintInformation">FileIoPriorityHintInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19881,6 +19937,8 @@
<li><a href="winproxy.html#windows.winproxy.WinproxyError.filename2">filename2 (windows.winproxy.WinproxyError attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._DEBUG_SYMBOL_SOURCE_ENTRY.FileNameId">FileNameId (windows.generated_def.winstructs._DEBUG_SYMBOL_SOURCE_ENTRY attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileNameInfo">FileNameInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileNameInformation">FileNameInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19903,6 +19961,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileNetworkOpenInformation">FileNetworkOpenInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileNetworkPhysicalNameInformation">FileNetworkPhysicalNameInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileNormalizedNameInfo">FileNormalizedNameInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileNormalizedNameInformation">FileNormalizedNameInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19923,8 +19983,14 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileProcessIdsUsingFileInformation">FileProcessIdsUsingFileInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileQuotaInformation">FileQuotaInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileRemoteProtocolInfo">FileRemoteProtocolInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileRemoteProtocolInformation">FileRemoteProtocolInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileRenameInfo">FileRenameInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileRenameInfoEx">FileRenameInfoEx (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileRenameInformation">FileRenameInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -19945,14 +20011,20 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileShortNameInformation">FileShortNameInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION.FileSize">FileSize (windows.generated_def.winstructs._FILE_NOTIFY_EXTENDED_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileStandardInfo">FileStandardInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileStandardInformation">FileStandardInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileStandardLinkInformation">FileStandardLinkInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileStorageInfo">FileStorageInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BG_JOB_PROGRESS.FilesTotal">FilesTotal (windows.generated_def.winstructs._BG_JOB_PROGRESS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BG_JOB_PROGRESS.FilesTransferred">FilesTransferred (windows.generated_def.winstructs._BG_JOB_PROGRESS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.FileStreamInfo">FileStreamInfo (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFORMATION_CLASS.FileStreamInformation">FileStreamInformation (windows.generated_def.winstructs._FILE_INFORMATION_CLASS attribute)</a>
</li>
@@ -20984,21 +21056,27 @@
</li>
<li><a href="windef_generated.html#windows.generated_def.FSCTL_WRITE_USN_REASON">FSCTL_WRITE_USN_REASON (in module windows.generated_def)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftCreationTime">ftCreationTime (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.ftCreationTime">ftCreationTime (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftCreationTime">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.ftCreationTime">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftLastAccessTime">ftLastAccessTime (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.ftLastAccessTime">ftLastAccessTime (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftLastAccessTime">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.ftLastAccessTime">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftLastWriteTime">ftLastWriteTime (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.ftLastWriteTime">ftLastWriteTime (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.ftLastWriteTime">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.ftLastWriteTime">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
@@ -22431,6 +22509,10 @@
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.GetExtendedUdpTable">GetExtendedUdpTable() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IBackgroundCopyError.GetFile">GetFile() (windows.generated_def.interfaces.IBackgroundCopyError method)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.GetFileInformationByHandle">GetFileInformationByHandle() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.GetFileInformationByHandleEx">GetFileInformationByHandleEx() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IBackgroundCopyFile2.GetFileRanges">GetFileRanges() (windows.generated_def.interfaces.IBackgroundCopyFile2 method)</a>
@@ -22575,11 +22657,11 @@
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.ICallFrame.GetIIDAndMethod">GetIIDAndMethod() (windows.generated_def.interfaces.ICallFrame method)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IRpcHelper.GetIIDFromOBJREF">GetIIDFromOBJREF() (windows.generated_def.interfaces.IRpcHelper method)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IClassClassicInfo.GetImplementedClsid">GetImplementedClsid() (windows.generated_def.interfaces.IClassClassicInfo method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IClassClassicInfo.GetImplementedClsid">GetImplementedClsid() (windows.generated_def.interfaces.IClassClassicInfo method)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.ITypeInfo.GetImplTypeFlags">GetImplTypeFlags() (windows.generated_def.interfaces.ITypeInfo method)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IActivationStageInfo.GetIndex">GetIndex() (windows.generated_def.interfaces.IActivationStageInfo method)</a>
@@ -26463,6 +26545,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPBITMAPINFOHEADER">LPBITMAPINFOHEADER (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPBOOL">LPBOOL (in module windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPBY_HANDLE_FILE_INFORMATION">LPBY_HANDLE_FILE_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
@@ -26591,6 +26675,10 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPGUID">LPGUID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPHANDLE">LPHANDLE (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPHANDLER_FUNCTION">LPHANDLER_FUNCTION (in module windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPHANDLER_FUNCTION_EX">LPHANDLER_FUNCTION_EX (in module windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.LPIDLDESC">LPIDLDESC (class in windows.generated_def.winstructs)</a>
</li>
@@ -27189,6 +27277,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._CERT_CHAIN_ENGINE_CONFIG.MaximumCachedCertificates">MaximumCachedCertificates (windows.generated_def.winstructs._CERT_CHAIN_ENGINE_CONFIG attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_FS_ATTRIBUTE_INFORMATION.MaximumComponentNameLength">MaximumComponentNameLength (windows.generated_def.winstructs._FILE_FS_ATTRIBUTE_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS.MaximumFileInfoByHandleClass">MaximumFileInfoByHandleClass (windows.generated_def.winstructs._FILE_INFO_BY_HANDLE_CLASS attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._EVENT_TRACE_PROPERTIES.MaximumFileSize">MaximumFileSize (windows.generated_def.winstructs._EVENT_TRACE_PROPERTIES attribute)</a>
@@ -27557,11 +27647,11 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_TCPTABLE_OWNER_PID">MIB_TCPTABLE_OWNER_PID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_UDP6ROW_OWNER_PID">MIB_UDP6ROW_OWNER_PID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_UDP6TABLE_OWNER_PID">MIB_UDP6TABLE_OWNER_PID (class in windows.generated_def.winstructs)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_UDP6TABLE_OWNER_PID">MIB_UDP6TABLE_OWNER_PID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_UDPROW_OWNER_PID">MIB_UDPROW_OWNER_PID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.MIB_UDPTABLE_OWNER_PID">MIB_UDPTABLE_OWNER_PID (class in windows.generated_def.winstructs)</a>
@@ -28935,14 +29025,14 @@
</li>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplLoadrDiskErr">NERR_RplLoadrDiskErr (in module windows.generated_def)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplLoadrNetBiosErr">NERR_RplLoadrNetBiosErr (in module windows.generated_def)</a>
</li>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplNeedsRPLUSERAcct">NERR_RplNeedsRPLUSERAcct (in module windows.generated_def)</a>
</li>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplNoAdaptersStarted">NERR_RplNoAdaptersStarted (in module windows.generated_def)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplNotRplServer">NERR_RplNotRplServer (in module windows.generated_def)</a>
</li>
<li><a href="windef_generated.html#windows.generated_def.NERR_RplProfileInfoCorrupted">NERR_RplProfileInfoCorrupted (in module windows.generated_def)</a>
@@ -29271,15 +29361,23 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._CTL_INFO.NextUpdate">(windows.generated_def.winstructs._CTL_INFO attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.nFileSizeHigh">nFileSizeHigh (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.nFileIndexHigh">nFileIndexHigh (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.nFileIndexLow">nFileIndexLow (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.nFileSizeHigh">nFileSizeHigh (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.nFileSizeHigh">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.nFileSizeHigh">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.nFileSizeLow">nFileSizeLow (windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.nFileSizeLow">nFileSizeLow (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
<ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAA.nFileSizeLow">(windows.generated_def.winstructs._WIN32_FIND_DATAA attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._WIN32_FIND_DATAW.nFileSizeLow">(windows.generated_def.winstructs._WIN32_FIND_DATAW attribute)</a>
</li>
</ul></li>
@@ -29290,6 +29388,8 @@
<li><a href="windef_generated.html#windows.generated_def.NMPWAIT_USE_DEFAULT_WAIT">NMPWAIT_USE_DEFAULT_WAIT (in module windows.generated_def)</a>
</li>
<li><a href="windef_generated.html#windows.generated_def.NMPWAIT_WAIT_FOREVER">NMPWAIT_WAIT_FOREVER (in module windows.generated_def)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION.nNumberOfLinks">nNumberOfLinks (windows.generated_def.winstructs._BY_HANDLE_FILE_INFORMATION attribute)</a>
</li>
<li><a href="winerror_generated.html#windows.generated_def.NO_ERROR">NO_ERROR (in module windows.generated_def)</a>
</li>
@@ -30778,6 +30878,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._ANON_TMP_variant_sub_union.pbVal">pbVal (windows.generated_def.winstructs._ANON_TMP_variant_sub_union attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.CRYPTCATATTRIBUTE_.pbValue">pbValue (windows.generated_def.winstructs.CRYPTCATATTRIBUTE_ attribute)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PBY_HANDLE_FILE_INFORMATION">PBY_HANDLE_FILE_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PBYTE">PBYTE (class in windows.generated_def.winstructs)</a>
</li>
@@ -31654,6 +31756,8 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PFILE_FULL_EA_INFORMATION">PFILE_FULL_EA_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PFILE_GET_EA_INFORMATION">PFILE_GET_EA_INFORMATION (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PFILE_INFO_BY_HANDLE_CLASS">PFILE_INFO_BY_HANDLE_CLASS (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.PFILE_INFORMATION_CLASS">PFILE_INFORMATION_CLASS (class in windows.generated_def.winstructs)</a>
</li>
@@ -32272,11 +32376,11 @@
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.POBJECTS_AND_NAME_A">POBJECTS_AND_NAME_A (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.POBJECTS_AND_NAME_W">POBJECTS_AND_NAME_W (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.POBJECTS_AND_SID">POBJECTS_AND_SID (class in windows.generated_def.winstructs)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.POBJECTS_AND_SID">POBJECTS_AND_SID (class in windows.generated_def.winstructs)</a>
</li>
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION.pOctetString">pOctetString (windows.generated_def.winstructs._CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION attribute)</a>
<ul>
@@ -34810,6 +34914,14 @@
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IBindCtx.RegisterObjectBound">RegisterObjectBound() (windows.generated_def.interfaces.IBindCtx method)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IBindCtx.RegisterObjectParam">RegisterObjectParam() (windows.generated_def.interfaces.IBindCtx method)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.RegisterServiceCtrlHandlerA">RegisterServiceCtrlHandlerA() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.RegisterServiceCtrlHandlerExA">RegisterServiceCtrlHandlerExA() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.RegisterServiceCtrlHandlerExW">RegisterServiceCtrlHandlerExW() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.RegisterServiceCtrlHandlerW">RegisterServiceCtrlHandlerW() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.ICallInterceptor.RegisterSink">RegisterSink() (windows.generated_def.interfaces.ICallInterceptor method)</a>
</li>
@@ -35521,6 +35633,8 @@
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IStandardActivator.Reset">(windows.generated_def.interfaces.IStandardActivator method)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="process.html#windows.winobject.apisetmap.ApiSetMap.resolution_dict">resolution_dict (windows.winobject.apisetmap.ApiSetMap property)</a>
</li>
<li><a href="winproxy.html#windows.winproxy.resolve">resolve() (in module windows.winproxy)</a>
@@ -35531,8 +35645,6 @@
<li><a href="debug.html#windows.debug.symbols.VirtualSymbolHandler.resolve">(windows.debug.symbols.VirtualSymbolHandler method)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IShellLinkA.Resolve">Resolve() (windows.generated_def.interfaces.IShellLinkA method)</a>
<ul>
@@ -37862,6 +37974,8 @@
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetEnvironmentVariableA">SetEnvironmentVariableA() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetEnvironmentVariableW">SetEnvironmentVariableW() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetFileInformationByHandle">SetFileInformationByHandle() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IShellLinkA.SetHotkey">SetHotkey() (windows.generated_def.interfaces.IShellLinkA method)</a>
@@ -37990,6 +38104,10 @@
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetSecurityDescriptorOwner">SetSecurityDescriptorOwner() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetSecurityInfo">SetSecurityInfo() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetServiceBits">SetServiceBits() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.SetServiceStatus">SetServiceStatus() (in module windows.generated_def.winfuncs)</a>
</li>
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.IShellLinkA.SetShowCmd">SetShowCmd() (windows.generated_def.interfaces.IShellLinkA method)</a>
@@ -40591,12 +40709,12 @@
</li>
<li><a href="ntstatus_generated.html#windows.generated_def.STATUS_FWP_DUPLICATE_CONDITION">STATUS_FWP_DUPLICATE_CONDITION (in module windows.generated_def)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="ntstatus_generated.html#windows.generated_def.STATUS_FWP_DUPLICATE_KEYMOD">STATUS_FWP_DUPLICATE_KEYMOD (in module windows.generated_def)</a>
</li>
<li><a href="ntstatus_generated.html#windows.generated_def.STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS">STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS (in module windows.generated_def)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="ntstatus_generated.html#windows.generated_def.STATUS_FWP_EM_NOT_SUPPORTED">STATUS_FWP_EM_NOT_SUPPORTED (in module windows.generated_def)</a>
</li>
<li><a href="ntstatus_generated.html#windows.generated_def.STATUS_FWP_FILTER_NOT_FOUND">STATUS_FWP_FILTER_NOT_FOUND (in module windows.generated_def)</a>
@@ -50909,7 +51027,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>
</ul>
</div>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2.11. Handle Processes handles &#8212; PythonForWindows 1.0.1 documentation</title>
<title>2.11. Handle Processes handles &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="wmi.html" title="2.10. WMI Make request to WMI"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle Processes handles</a></li>
</ul>
@@ -179,7 +179,7 @@
<li class="right" >
<a href="wmi.html" title="2.10. WMI Make request to WMI"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle Processes handles</a></li>
</ul>
+4 -4
View File
@@ -5,12 +5,12 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>15. IAT hooking &#8212; PythonForWindows 1.0.1 documentation</title>
<title>15. IAT hooking &#8212; PythonForWindows 1.0.3 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=292eb321"></script>
<script src="_static/documentation_options.js?v=baaebd52"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
@@ -34,7 +34,7 @@
<li class="right" >
<a href="interfaces_generated.html" title="14.7. Interfaces"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
</ul>
</div>
@@ -247,7 +247,7 @@
<li class="right" >
<a href="interfaces_generated.html" title="14.7. Interfaces"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
</ul>
</div>

Some files were not shown because too many files have changed in this diff Show More