ISensorClassExtension::ProcessIoControl method (sensorsclassextension.h)
The ISensorClassExtension::ProcessControl method sends Windows Portable Devices (WPD) I/O control requests to the sensor class extension for processing.
Syntax
HRESULT ProcessIoControl(
IWDFIoRequest *pRequest
);
Parameters
pRequest
Pointer to the IWDFIoRequest interface that represents the UMDF request object.
Return value
This method returns an HRESULT. Possible values include, but are not limited to, one of the following values.
Return code | Description |
---|---|
S_OK | The method succeeded. |
E_ACCESS_DENIED | No permission. For example, the I/O request sought data for which no permission exists. |
E_POINTER | A required pointer argument was NULL. |
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) | The request did not contain a WPD IOCTL. |
Remarks
UMDF sends I/O control requests to sensor drivers through IQueueCallbackDeviceIoControl::OnDeviceIoControl. We recommend that you call ProcessIoControl to forward all WPD requests to the sensor class extension for processing. You can use the WPD macro IS_WPD_IOCTL to determine whether a given control code is specific to WPD. Clients of the Sensor API and Location API send only WPD IOCTLs, which can always be process by the sensor class extension.
After processing an I/O control request, the sensor class extension uses the driver's callback interface, ISensorDriver, to provide notifications, as appropriate. WPD requests that the sensor class extension does not handle by default are sent to the driver through ISensorDriver::OnProcessWpdMessage.
The driver must not complete I/O control requests that it forwards to the sensor class extension.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | sensorsclassextension.h |
Library | SensorsClassExtension.lib |