Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"függvény": az eseményforrás rendelkezik "out" paramétersel; körültekintően járjon el több eseménykezelő csatlakoztatásakor
Megjegyzések
Ha egynél több eseményelosztó figyel egy COM-eseményforrást, a kimenő paraméter értéke figyelmen kívül hagyható.
Vegye figyelembe, hogy a memóriavesztés a következő helyzetekben fordul elő:
Ha egy metódus belsőleg lefoglalt kimenő paraméterrel rendelkezik, például BSTR *.
Ha az esemény több kezelővel is rendelkezik (csoportos küldésű esemény).
A szivárgás oka, hogy a kimenő paramétert több kezelő állítja be, de csak az utolsó kezelő adja vissza a híváshelyre.
Example
Az alábbi példa létrehozza a C4683-at, és bemutatja a javítás módját:
// C4683.cpp
// compile with: /W1 /LD
#define _ATL_ATTRIBUTES 1
#include "atlbase.h"
#include "atlcom.h"
[ module(name="xx") ];
[ object ]
__interface I {
HRESULT f([out] int* pi);
// try the following line instead
// HRESULT f(int* pi);
};
[ coclass, event_source(com) ]
struct E {
__event __interface I; // C4683
};