CeCloseCallerBuffer (Compact 2013)

3/28/2014

This function frees any resources that were allocated by CeOpenCallerBuffer. It performs any required write-back to the caller buffer due to out descriptors ARG_IO* or ARG_O*.

Syntax

HRESULT CeCloseCallerBuffer(
  PVOID pDestMarshalled,
  PVOID pSrcUnmarshalled,
  DWORD cbSrc,
  DWORD ArgumentDescriptor
);

Parameters

  • pDestMarshalled
    [in] Pointer to the buffer that was allocated by CeOpenCallerBuffer.
  • pSrcUnmarshalled
    [in] Source pointer that was passed to CeOpenCallerBuffer.
  • cbSrc
    [in] Buffer size that was passed to CeOpenCallerBuffer.
  • ArgumentDescriptor
    [in] Descriptor that was passed to CeOpenCallerBuffer.

Return Value

  • E_ACCESSDENIED
    Required write-back could not be performed. If this error occurs, resources are still released and the marshaled pointer is no longer accessible.
  • E_INVALIDARG
    The pSrcUnmarshalled parameter was NULL, the length was zero, or some other parameter was invalid.
  • S_OK
    The free succeeded.

Remarks

This function is protected by __try/__except so that it does not to throw an exception while accessing the input pointer pSrcUnmarshalled.

Use the SUCCEEDED and FAILED macros to test the return value of this function.

Requirements

Header

kernsdk.h

Library

coredll.lib

See Also

Reference

Kernel Buffer Marshaling Functions
MarshalledBuffer_t
CeOpenCallerBuffer