PR_PopIOLayer¶
从堆栈中移除一层。
语法¶
#include <prio.h>
PRFileDesc *PR_PopIOLayer(
PRFileDesc *stack,
PRDescIdentity id);
参数¶
该函数具有以下参数
stack
指向一个 PRFileDesc 对象的指针,该对象表示要从中移除指定层的堆栈。
id
要从堆栈中移除的层的标识。
返回值¶
该函数返回以下值之一
如果层成功从堆栈中移除,则返回指向已移除层的指针。
如果在堆栈中找不到该层或无法弹出(例如,最底层的层),则该函数返回
NULL
,并返回错误代码PR_INVALID_ARGUMENT_ERROR
。
描述¶
PR_PopIOLayer 从堆栈中弹出指定的层。如果找到要移除的对象,PR_PopIOLayer 会返回指向已移除对象的指针。然后,该对象成为调用者的责任。
即使标识指示堆栈的顶层,返回的引用也不是堆栈的文件描述符,并且该文件描述符仍然有效。换句话说,在函数返回后,stack
继续指向堆栈的顶部。