本文整理匯總了Python中_winapi.DUPLICATE_SAME_ACCESS屬性的典型用法代碼示例。如果您正苦於以下問題:Python _winapi.DUPLICATE_SAME_ACCESS屬性的具體用法?Python _winapi.DUPLICATE_SAME_ACCESS怎麽用?Python _winapi.DUPLICATE_SAME_ACCESS使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類_winapi
的用法示例。
在下文中一共展示了_winapi.DUPLICATE_SAME_ACCESS屬性的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _make_inheritable
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def _make_inheritable(self, handle):
"""Return a duplicate of handle, which is inheritable"""
h = _winapi.DuplicateHandle(
_winapi.GetCurrentProcess(), handle,
_winapi.GetCurrentProcess(), 0, 1,
_winapi.DUPLICATE_SAME_ACCESS)
return Handle(h)
示例2: make_inheritable_handle
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def make_inheritable_handle(fd):
"""Create inheritable duplicate of handle from file descriptor"""
h = _winapi.DuplicateHandle(
_winapi.GetCurrentProcess(),
msvcrt.get_osfhandle(fd),
_winapi.GetCurrentProcess(), 0, 1,
_winapi.DUPLICATE_SAME_ACCESS
)
return subprocess.Handle(h)
示例3: duplicate
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def duplicate(handle, target_process=None, inheritable=False):
'''Duplicate a handle. (target_process is a handle not a pid!)'''
if target_process is None:
target_process = _winapi.GetCurrentProcess()
return _winapi.DuplicateHandle(
_winapi.GetCurrentProcess(), handle, target_process,
0, inheritable, _winapi.DUPLICATE_SAME_ACCESS)
示例4: steal_handle
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def steal_handle(source_pid, handle):
'''Steal a handle from process identified by source_pid.'''
source_process_handle = _winapi.OpenProcess(
_winapi.PROCESS_DUP_HANDLE, False, source_pid)
try:
return _winapi.DuplicateHandle(
source_process_handle, handle,
_winapi.GetCurrentProcess(), 0, False,
_winapi.DUPLICATE_SAME_ACCESS | _winapi.DUPLICATE_CLOSE_SOURCE)
finally:
_winapi.CloseHandle(source_process_handle)
示例5: send_handle
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def send_handle(conn, handle, destination_pid):
'''Send a handle over a local connection.'''
dh = DupHandle(handle, _winapi.DUPLICATE_SAME_ACCESS, destination_pid)
conn.send(dh)
示例6: _make_inheritable
# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import DUPLICATE_SAME_ACCESS [as 別名]
def _make_inheritable(self, handle):
"""Return a duplicate of handle, which is inheritable"""
h = _winapi.DuplicateHandle(
_winapi.GetCurrentProcess(), handle,
_winapi.GetCurrentProcess(), 0, 1,
_winapi.DUPLICATE_SAME_ACCESS)
# IronPython: Not closing this handle may cause read operations to block down the line.
# Because of the GC of .NET, it may not be closed fast enough so we force it to close.
# This is not an issue with CPython because the handle is closed via __del__.
if isinstance(handle, Handle): handle.Close()
return Handle(h)