Share via


RIL_DevSpecific (Compact 2013)

3/26/2014

OEM developers use this function to provide custom calls into the RIL driver. This extension mechanism enables RIL driver developers to add any additional functionality. Both synchronous and a synchronous behaviors are supported and are selected with the dwTimeout parameter.

Syntax

HRESULT RIL_DevSpecific(
  HRIL hRil,
  const BYTE* lpbParams,
  DWORD dwSize,
  BYTE* pbAsyncResults,
  DWORD dwAsyncResultsSize,
  DWORD* pcbAsyncResults,
  DWORD dwTimeOut
);

Parameters

  • lpbParams
    [in] A pointer to a storage area containing the parameters required for the device specific call.
  • dwSize
    [in] The byte length of the buffer pointed to by lpbParams.
  • pbAsyncResults
    [in] A pointer to a storage area to place the output.

    [out] Pointer to the array returned by the device specific call.

    Memory for the array must be allocated and released by the calling application.

  • dwAsyncResultsSize
    [in] The byte length of the buffer pointed to by pbAsyncResults.
  • pcbAsyncResults
    [out] A pointer to the returned length of the pbAsyncResults. If the actual results are larger than dwAsyncResultsSize then this API returns E_FAIL and this pointer is set to the required results size.
  • dwTimeOut
    [in] The number of milliseconds the RIL driver and proxy waits before returning with a timeout error.

    When this value is zero, the call is asynchronous and pbAsyncResults is not used for the asynchronous call.

    When this value is greater than zero, the call is synchronous. The pointer to the device specific data is returned in pbAsyncResults.

Return Value

For asynchronous calls, positive HRESULT values indicate success and are used as command identifications for matching the asynchronous call back result. Negative HRESULT values indicate an error. An asynchronous call back result of RIL_RESULT_OK indicates that the lpData notification parameter of RILRESULTCALLBACK points to the results buffer. Error values are defined in ril.h.

For synchronous calls, a successful result returns S_OK, pbAsyncResult points to the returned results, and pcbAsyncResults points to the length of the returned results.

Negative HRESULT values indicate an error. Error values of E_XXX are defined win winerror.h. RIL_E_XXX error values are defined in ril.h.

Remarks

Any additional functionality may be implemented with this function. The calling application and the driver must agree on the interpretation of the lpbParams buffer and the lpData return value.

The RIL proxy translates this call into a IOCTL_RIL_DevSpecific call when the RIL proxy calls RIL_IOControl.

Requirements

Header

ril.h

Library

Ril.lib

See Also

Reference

RIL Functions
RIL_Initialize