{\rtf1\ansi \deff4\deflang1033{\fonttbl{\f1\froman\fcharset2\fprq2 Symbol;}{\f4\froman\fcharset0\fprq2 Times New Roman;}{\f11\fmodern\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255; \red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0; \red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar \f4\fs20 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}{\s15\widctlpar \b\f4\fs40 \sbasedon0\snext16 API Title;}{\s16\widctlpar \f4 \sbasedon0\snext16 API Description;}{\s17\widctlpar \f11\fs22 \sbasedon0\snext17 API Function;}{\s18\widctlpar \b\f4 \sbasedon0\snext16 API Section;}{\s19\li720\widctlpar \f4 \sbasedon0\snext16 API Parameter Description;}{\s20\widctlpar \i\f4 \sbasedon0\snext19 API Parameter Name;}{\s21\li720\widctlpar \f11 \sbasedon19\snext21 API Callback;}{\s22\widctlpar \f4\fs20 \sbasedon0\snext22 footnote text;}{\*\cs23 \additive\super \sbasedon10 footnote reference;}}{\info{\author Mike O'Brien} {\operator Mike O'Brien}{\creatim\yr1996\mo8\dy21\hr16\min22}{\revtim\yr1996\mo10\dy11\hr14\min19}{\version2}{\edmins1}{\nofpages2}{\nofwords197}{\nofchars1126}{\*\company Blizzard Entertainment}{\vern57431}}\widowctrl\ftnbj\aenddoc\hyphcaps0\formshade \fet0\sectd \linex0\endnhere {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4 \pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (} {\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s15\keepn\widctlpar \b\f4\fs40 {\cs23\super ${\footnote \pard\plain \s22\widctlpar \f4\fs20 {\cs23\super $} SNetRegisterEventHandler}#{\footnote \pard\plain \s22\widctlpar \f4\fs20 {\cs23\super #} SNetRegisterEventHandler}K{\footnote \pard\plain \s22\widctlpar \f4\fs20 {\cs23\super K} SNetRegisterEventHandler}} SNetRegisterEventHandler \par \pard\plain \s16\widctlpar \f4 \par Registers a callback function which will be called when the specified event occurs. Applications can use this functionality to receive notifications of players joining and leaving a game, among other things. \par \par Events can occur at any time, but Storm queues the events and only dispatches them to the appropriate event handler function during an application call to SNetReceiveMessage() or SNetReceiveTurns(). This protects the application from reentrancy issues. \par \par \pard\plain \s17\widctlpar \f11\fs22 BOOL SNetRegisterEventHandler ( \par \tab DWORD\tab \tab \tab eventid, \par \tab SNETEVENTPROC\tab callback \par ); \par \pard\plain \s16\widctlpar \f4 \par \pard\plain \s18\widctlpar \b\f4 Parameters \par \pard\plain \s16\widctlpar \f4 \par \pard\plain \s20\widctlpar \i\f4 eventid \par \pard\plain \s19\li720\widctlpar \f4 The ID of the event for which the callback function is being registered. The following events are defined: \par \pard\plain \s16\widctlpar \f4 \par \trowd \trgaph108\trleft612 \cellx4320\cellx7812 \pard\plain \s19\widctlpar\intbl \f4 {\b Value}\cell {\b Meaning}\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \trowd \trgaph108\trleft612 \cellx4320\cellx7812 \pard\plain \s19\widctlpar\intbl \f4 SNET_EVENT_INITDATA\cell Used to receive application-specific initialization data that the game creator specified in the call to SNetCreateGame().\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \pard\plain \s19\widctlpar\intbl \f4 SNET_EVENT_GAMEDESTROY \cell The current game has been destroyed by the owner.\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \pard\plain \s19\widctlpar\intbl \f4 SNET_EVENT_GAMESTART\cell The current game has been started.\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \pard\plain \s19\widctlpar\intbl \f4 SNET_EVENT_PLAYERJOIN\cell A player has joined the current game.\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \trowd \trgaph108\trleft612 \cellx4320\cellx7812 \pard\plain \s19\widctlpar\intbl \f4 SNET_EVENT_PLAYERLEAVE\cell A player has left the current game.\cell \pard\plain \widctlpar\intbl \f4\fs20 \row \pard\plain \s16\widctlpar \f4 \par \pard\plain \s20\widctlpar \i\f4 callback \par \pard\plain \s19\li720\widctlpar \f4 A pointer to the callback function. See EventProc() for a description. \par \pard\plain \s16\widctlpar \f4 \par \pard\plain \s18\widctlpar \b\f4 Return Value \par \pard\plain \s16\widctlpar \f4 \par This function returns TRUE for success or FALSE for failure. The function can fail if: \par {\pntext\pard\plain\f1 \'b7\tab}\pard \s16\fi-360\li360\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}An invalid event ID was specified \par {\pntext\pard\plain\f1 \'b7\tab}No callback function was provided \par \pard\plain \widctlpar \f4\fs20 \par }