ResolverIoctlCall (Windows Embedded CE 6.0)
1/6/2010
A Resolver DLL implements this function. The Location Framework calls this export as a result of an application calling LocationPluginIOCTL.
Syntax
DWORD ResolverIoctlCall(
HANDLE hProv,
DWORD dwCode,
BYTE* pBufIn,
DWORD cbIn,
BYTE* pBufOut,
DWORD* pcbOut
);
Parameters
- hProv
Handle returned by ResolverIoctlOpen function.
- dwCode
The dwCode value passed by LocationPluginIOCTL.
- pBufIn
The pBufIn value passed by LocationPluginIOCTL.
- cbIn
The cbIn value passed by LocationPluginIOCTL.
- pBufOut
The pBufOut value passed by LocationPluginIOCTL.
- pcbOut
The pcbOut value 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 Resolver, the Location Framework, or even servicesd.exe if the Resolver does not properly check the paramaters.
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 paramater, 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 |