DuplicateHandle

此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

DuplicateHandle

VB聲明

Declare Function DuplicateHandle Lib "kernel32" Alias "DuplicateHandle" (ByVal hSourceProcessHandle As Long, ByVal hSourceHandle As Long, ByVal hTargetProcessHandle As Long, lpTargetHandle As Long, ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwOptions As Long) As Long

說(shuō)明

在指出一個(gè)現(xiàn)有系統(tǒng)對(duì)象當(dāng)前句柄的情況下,為那個(gè)對(duì)象創(chuàng)建一個(gè)新句柄。當(dāng)前句柄可能位于一個(gè)不同的進(jìn)程

返回值

Long,非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError

參數(shù)表

參數(shù)

類型及說(shuō)明

hSourceProcessHandle

Long,擁有源句柄的那個(gè)進(jìn)程的句柄。如源句柄從屬于當(dāng)前進(jìn)程,則使用GetCurrentProcess

hSourceHandle

Long,指定對(duì)象的現(xiàn)有句柄。

hTargetProcessHandle

Long,即將擁有新對(duì)象句柄的一個(gè)進(jìn)程的句柄。如源句柄從屬于當(dāng)前進(jìn)程,則使用GetCurrentProcess

lpTargetHandle

Long,指定用于裝載新句柄的一個(gè)長(zhǎng)整型變量

dwDesiredAccess

Long,新句柄要求的安全訪問(wèn)級(jí)別。如dwOptions已指定了DUPLICATE_SAME_ACCESS,那么忽略這里的設(shè)置。可以進(jìn)行的訪問(wèn)由對(duì)象的類型決定,它們?cè)?a href="duplicatehandle_table.htm" class="topiclink">不同系統(tǒng)對(duì)象的訪問(wèn)常數(shù)表里進(jìn)行了總結(jié)

bInheritHandle

Long,如新句柄可由hSourceProcessHandle的子進(jìn)程繼承,則為T(mén)RUE

dwOptions

Long,下列常數(shù)的一個(gè)或兩個(gè):

DUPLICATE_SAME_ACCESS

新句柄擁有與原始句柄相同的安全訪問(wèn)特征

DUPLICATE_CLOSE_SOURCE

原始句柄已經(jīng)關(guān)閉。即使發(fā)生錯(cuò)誤。它也要關(guān)閉

注解

在一個(gè)進(jìn)程中,這個(gè)函數(shù)可根據(jù)位于不同進(jìn)程內(nèi)的現(xiàn)有句柄創(chuàng)建一個(gè)新句柄??梢詮倪@兩個(gè)進(jìn)程中發(fā)出對(duì)這個(gè)函數(shù)的調(diào)用。進(jìn)程必須提供PROCESS_DUP_HANDLE訪問(wèn)權(quán)限,否則函數(shù)執(zhí)行不能成功

句柄可以重復(fù)的對(duì)象包括控制臺(tái)、文件(包括通信設(shè)備)、文件映射、事件、可等待計(jì)時(shí)器、互斥體、管道、進(jìn)程、注冊(cè)表項(xiàng)、信號(hào)機(jī)以及線程

Top