CeDriverDuplicateCallerHandle
Other versions of this page are also available for the following:
8/28/2008
This function is used to duplicate a handle passed in by the calling application. A common usage of this function is to duplicate a notification handle in order to signal the completion of IO. The passed handle usually belongs to the calling applications process.
Syntax
HANDLE CeDriverDuplicateCallerHandle(
HANDLE DirectCallerHandle,
DWORD dwDesiredAccess,
BOOL bInheritHandle,
DWORD dwOptions
);
Parameters
- DirectCallerHandle
[in] Specifies a handle to the Direct Caller that the driver wants to duplicate.
- dwDesiredAccess
[in] Specifies the access requested for the new handle. If the dwOptions parameter specifies the DUPLICATE_SAME_ACCESS flag, then the dwDesiredAccess parameter is ignored. Windows Embedded CE 6.0 requires that the DUPLICATE_SAME_ACCESS flag is always set.
- bInheritHandle
[in] Indicates whether the handle is inheritable. Must be set to FALSE. If FALSE, the new handle cannot be inherited.
dwOptions
[in] Specifies optional actions. This value can be zero or any combination of the values in the following table.Value Description DUPLICATE_CLOSE_SOURCE
Closes the source handle regardless of any error status returned.
DUPLICATE_SAME_ACCESS
Ignores the dwDesiredAccess parameter. The duplicate handle has the same access as the source handle. This flag must be specified for Windows Embedded CE 6.0
Return Value
Returns a handle to the event object on success. Returns NULL on failure. For extended error information, call GetLastError
Remarks
If CeDriverDuplicateCallerHandle is called from kernel mode, DuplicateHandle is used. However, if this function is called from a User Mode Driver, the function will be routed to the kernel mode reflector, which will duplicate the caller handle and return it to the User Mode Driver. For more information when using this function with a User Mode Driver, see User Mode Driver Reflector.
Requirements
Header | ceddk.h |
Library | CEDDK.lib |
Windows Embedded CE | Windows Embedded CE 6.0 and later |