Compartilhar via


CeFreeDuplicateBuffer (Compact 2013)

3/28/2014

This function frees a duplicate buffer that was allocated by CeAllocDuplicateBuffer. It performs any required write-back to the source buffer due to out descriptors ARG_IO* or ARG_O*.

Syntax

HRESULT CeFreeDuplicateBuffer(
  PVOID pDestDuplicate,
  PVOID pSrcMarshalled,
  DWORD cbSrc,
  DWORD ArgumentDescriptor
);

Parameters

  • pDestDuplicate
    [in] Pointer to the buffer that was allocated by CeAllocDuplicateBuffer.
  • pSrcMarshalled
    [in] Source pointer that was passed to CeAllocDuplicateBuffer.
  • cbSrc
    [in] Buffer size that was passed to CeAllocDuplicateBuffer.
  • ArgumentDescriptor
    [in] Descriptor that was passed to CeAllocDuplicateBuffer.

Return Value

  • E_FAIL
    Required write-back could not be performed. If this error occurs, resources are still released, and the duplicated pointer is no longer accessible.
  • S_OK
    The free and write-back, if necessary, succeeded.

Remarks

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

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
DuplicatedBuffer_t
CeAllocDuplicateBuffer