Group: Remote Application Programming (RAPI) - Library: rapi
This function can be used as a general-purpose mechanism to remotely execute a routine on the Windows CE device.
PocketPC: custom RAPI class for executing routines on remote Windows CE device
HRESULT CeRapiInvoke(
LPCWSTR pDllPath,
LPCWSTR pFunctionName,
DWORD cbInput,
BYTE* pInput,
DWORD* pcbOutput,
BYTE** ppOutput,
IRAPIStream** ppIRAPIStream,
DWORD dwReserved
);
DECLARE INTEGER CeRapiInvoke IN rapi;
STRING pDllPath,;
STRING pFunctionName,;
INTEGER cbInput,;
STRING @ pInput,;
INTEGER @ pcbOutput,;
STRING @ ppOutput,;
INTEGER @ ppIRAPIStream,;
INTEGER dwReserved
pDllPath [in] Pointer to a buffer containing the name of a DLL on the Windows CE device containing pFunctionName.
pFunctionName [in] Pointer to a buffer containing the name of the function that RAPI should call on the Windows CE device.
cbInput [in] Number of bytes in the input buffer *pInput.
pInput [in] Pointer to a buffer containing the input data.
pcbOutput [out] Pointer to a variable that is set to the number of bytes in the output buffer ppOutput when the function returns.
ppOutput [out] Pointer to a variable that is set to the location of the output buffer upon return.
ppIRAPIStream [out] Pointer to a variable that is set to the address of the IRAPIStream interface.
dwReserved Reserved.
If RAPI services on the Windows CE device successfully locate and call the client function, then in Block Mode the return value is that which is returned on the Windows CE device by the called function.
In Stream Mode the return value is S_OK. If the function was not called successfully, or an exception occurred during its execution, an error code is returned.
The CeRapiInvoke function operates in either block mode or stream mode.