ProviderIoctlCall (Windows Embedded CE 6.0)
1/6/2010
A Provider DLL implements this function. The Location Framework calls this export as a result of an application calling LocationPluginIOCTL.
Syntax
DWORD ProviderIoctlCall(
HANDLE hProv,
DWORD dwCode,
BYTE* pBufIn,
DWORD cbIn,
BYTE* pBufOut,
DWORD* pcbOut
);
Parameters
- hProv
Handle returned by ProviderIoctlOpen function.
- dwCode
dwCode passed by LocationPluginIOCTL.
- pBufIn
pBufIn passed by LocationPluginIOCTL.
- cbIn
cbIn passed by LocationPluginIOCTL.
- pBufOut
pBufOut passed by LocationPluginIOCTL.
- pcbOut
pcbOut passed by LocationPluginIOCTL.
Return Value
The return value is passed back directly to the application.
If successful, return ERROR_SUCCESS.
If unsuccessful, return an error code.
Remarks
Great care should be taken in processing user data, because it is possible that a malicious application could crash the Provider, the Location Framework, or even servicesd.exe if the Provider does not properly check the parameters.
The Location Framework will automatically map the pointers from the calling applications space into servicesd.exe space. If the caller has passed a structure that contains embedded pointers, it is the responsibility of the plugin DLL to map these pointers into the process space.
The pBufIn can only be used for reading in data; if the plugin writes any data into this buffer, it will not be copied out to the calling application’s memory space. Similarly if the application passes data in the pBufOut parameter, it will be not be copied into servicesd.exe’s process space.
Requirements
Header | lfplugin.h |
Windows Embedded CE | Windows Embedded CE 6.0 and later |