Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This IOCTL is used by device drivers if a process is exiting, that is, its main thread terminates, while one or more other threads are running. It can also be used when secondary threads that are blocked in a system call do not exit cleanly when requested by the scheduler. This IOCTL provides a mechanism for the system call implementers to unblock threads belonging to processes that have been terminated.
Parameters
- dwIoControlCode
[in] Set to IOCTL_PSL_NOTIFY. - lpInBuf
[in] Pointer to a DEVICE_PSL_NOTIFY structure. - nInBufSize
[in] Set to sizeof(DEVICE_PSL_NOTIFY), the size of lpInBuf. - lpOutBuf
[out] Reserved. Set to NULL. - nOutBufSize
[out] Reserved. Set to zero. - lpBytesReturned
[out] Reserved. Set to NULL. - lpOverlapped
[in] Set to NULL.
Return Values
TRUE indicates success. FALSE indicates failure.
Remarks
Device drivers use this IOCTL to perform custom processing not handled by the XXX_Close (Device Manager) function.
If threads owned by processes that no longer exit are blocked in a call to a driver, the OS uses IOCTL_PS_NOTIFY to notify the driver to unblock those threads.
The OS invokes IOCTL_PSL_NOTIFY when all of the following conditions are true:
- The application's main thread exits.
- The application has other threads still running.
- The application has open file handles that refer to the device.
Requirements
OS Versions: Windows CE 3.1 and later.
Header: Pkfuncs.h.
See Also
DEVICE_PSL_NOTIFY | XXX_Close (Device Manager) | XXX_IOControl (Device Manager)
Send Feedback on this topic to the authors