GlobalFlags函数返回有关指定的全局内存对象的信息。
UINT GlobalFlags(
HGLOBAL 【HMEM】 | //处理全局内存对象 |
); |
参数
【HMEM】
标识全局内存对象。该手柄由GlobalAlloc或GlobalReAlloc功能返回。
返回值
如果函数成功,则返回值是一个32位值,用于指定内存对象的分配标志和锁计数。
如果函数失败,则返回值为GMEM_INVALID_HANDLE标志,表示全局句柄无效。要获取扩展错误信息,请调用GetLastError.
备注
返回值的低位字的低位字节包含对象的锁定计数。要从返回值中检索锁定计数,请使用按位AND(&)运算符的GMEM_LOCKCOUNT掩码。使用GMEM_FIXED标志分配的内存对象的锁计数始终为零。
返回值的低位字的高位字节表示存储器对象的分配标志。它可以为零或以下标志的任何组合:
旗 | 含义 |
GMEM_DDESHARE | 内存被分配供动态数据交换(DDE)功能使用。不像Windows版本 3.【x】,这个内存不是全局共享的。但是,该标志可用于兼容性目的,某些应用程序可能会使用该标志来增强DDE操作的性能。只有使用DDE或剪贴板进行进程间通信的进程才应指定此标志。 |
GMEM_DISCARDABLE | 对象的内存块可以被丢弃。 |
GMEM_DISCARDED | 对象的内存块已被丢弃。 |
也可以看看
GlobalAlloc, GlobalDiscard, GlobalLock, GlobalReAlloc, GlobalUnlock, LocalFlags