// wdm.h
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
PVOID SourceProcess;
PVOID TargetProcess;
} OB_PRE_DUPLICATE_HANDLE_INFORMATION, *POB_PRE_DUPLICATE_HANDLE_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The OB_PRE_DUPLICATE_HANDLE_INFORMATION structure provides information to an ObjectPreCallback routine about a thread or process handle that is being duplicated.
DesiredAccessAn ACCESS_MASK value that specifies the access rights to grant for the handle. By default, this member equals OriginalDesiredAccess, but the ObjectPreCallback routine can modify this value to restrict the access that is granted. For a description of the access rights that drivers can use, see OB_PRE_CREATE_HANDLE_INFORMATION.
OriginalDesiredAccessAn ACCESS_MASK value that specifies the original access that was requested for the handle.
SourceProcessA pointer to the process object for the process that is the source of the handle.
TargetProcessA pointer to the process object for the process that receives the duplicated handle.
You can never add access rights beyond what is specified in the DesiredAccess member. If the access right is listed as a modifiable flag, the access right can be removed.