IWDFRemoteTarget::CloseForQueryRemove method (wudfddi.h)
[Warning: UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2. For more info, see Getting Started with UMDF.]
The CloseForQueryRemove method closes a remote I/O target because the operating system might allow the device to be removed.
Syntax
HRESULT CloseForQueryRemove();
Return value
The CloseForQueryRemove method always returns S_OK.
Remarks
If your driver provides an IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove callback function, the callback function must call CloseForQueryRemove if it returns TRUE to indicate that the device can be removed.
The CloseForQueryRemove method completes or cancels all I/O requests that the driver has sent to the I/O target.
After a driver calls CloseForQueryRemove, the driver cannot send I/O requests to the I/O target until it calls IWDFRemoteTarget::Reopen.
For more information about the CloseForQueryRemove method, see Controlling a General I/O Target's State in UMDF.
Examples
The following code example shows an IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove callback function that calls CloseForQueryRemove.
BOOL
STDMETHODCALLTYPE
CMyRemoteTarget::OnRemoteTargetQueryRemove(
__in IWDFRemoteTarget *FxTarget
)
{
//
// Here, do any driver-specific actions that your driver requires
// to stop sending I/O requests to the I/O target.
//
...
//
// Close the target.
//
FxTarget->CloseForQueryRemove();
//
// Return TRUE if you want to allow removal of the device.
//
return TRUE;
}
Requirements
Requirement | Value |
---|---|
End of support | Unavailable in UMDF 2.0 and later. |
Target Platform | Desktop |
Minimum UMDF version | 1.9 |
Header | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |