__security_init_cookie

初始化全局安全 cookie。

void __security_init_cookie(void);

备注

全局安全 cookie 用于缓冲区溢出保护用代码编译 /GS(缓冲区安全检查) 和在使用异常处理代码。 实质上,在进入溢出保护的函数时,会将该 Cookie 放在堆栈上;在退出该函数时,会将堆栈上的值与全局 Cookie 进行比较。 如果它们之间有任何区别,则指示缓冲区溢出已经发生并将导致立即终止程序。

通常,那么,当启动时, __security_init_cookie 由 CRT 调用。 如果跳过 CRT 初始化 (例如,通过编写 DLL 并指定与 /ENTRY的一个点),然后必须调用 __security_init_cookie

__security_init_cookie 的电话,在所有溢出保护的函数中输入之前,必须调用;否则会检测到虚假的缓冲区溢出。 有关更多信息,请参见 C 运行时错误 R6035

示例

在参见 C 运行时错误 R6035的示例。

要求

实例

必需的头

__security_init_cookie

process.h

有关更多兼容性信息,请参见中介绍的 兼容性

.NET Framework 等效项

不适用。应从本机代码只调用此函数,不管理。

请参见

参考

深入的编译器安全检查