Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than ole32, prefix the name with the module name and a period.
CreateILockBytesOnHGlobal (ole32)
.
C# Signature:
/// <summary>
/// The CreateILockBytesOnHGlobal function creates a byte array object,
/// using global memory as the physical device, which is intended to be the
/// compound file foundation. This object supports a COM implementation of the
/// ILockBytes interface.
/// </summary>
///
/// <param name="hGlobal">The memory handle allocated by the GlobalAlloc function.
/// The handle must be allocated as moveable and nondiscardable. If the handle is
/// shared between processes, it must also be allocated as shared. New handles should
/// be allocated with a size of zero. If hGlobal is NULL, CreateILockBytesOnHGlobal
/// internally allocates a new shared memory block of size zero.</param>
///
/// <param name="fDeleteOnRelease">A flag that specifies whether the underlying handle
/// for this byte array object should be automatically freed when the object is released.
/// If set to FALSE, the caller must free the hGlobal after the final release. If set
/// to TRUE, the final release will automatically free the hGlobal parameter.</param>
///
/// <param name="ppLkbyt">The address of ILockBytes pointer variable that receives the
/// interface pointer to the new byte array object.</param>
///
/// <returns>This function supports the standard return values E_INVALIDARG and E_OUTOFMEMORY, as well as the following:
/// S_OK: The byte array object was created successfully.</returns>
[DllImport ("ole32.dll")]
public extern static int CreateILockBytesOnHGlobal(IntPtr hGlobal, [MarshalAs(UnmanagedType.Bool)] bool fDeleteOnRelease, out ILockBytes ppLkbyt);
[DllImport("ole32.dll")]
static extern int CreateILockBytesOnHGlobal(IntPtr hGlobal, bool
fDeleteOnRelease, out ILockBytes ppLkbyt);
<DllImport("ole32.dll")> _
Public Shared Function CreateILockBytesOnHGlobal(ByVal hGlobal As IntPtr, _
ByVal fDeleteOnRelease As Boolean, _
<Out()> ByRef ppLkbyt As IlockBytes) _
As Integer
End Function
The CreateILockBytesOnHGlobal function creates a byte array object, using global memory as the physical device, which is intended to be the compound file foundation. This object supports a COM implementation of the ILockBytes interface.
8/18/2008 7:04:07 AM - -212.44.26.236
Easy to implement on top of a MemoryStream if you don't support locking.
10/17/2015 5:07:05 AM - Robert Chipperfield-212.44.26.236
The CreateILockBytesOnHGlobal function creates a byte array object, using global memory as the physical device, which is intended to be the compound file foundation. This object supports a COM implementation of the ILockBytes interface.
8/18/2008 7:04:07 AM - -212.44.26.236
Easy to implement on top of a MemoryStream if you don't support locking.
10/17/2015 5:07:05 AM - Robert Chipperfield-212.44.26.236
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).