DllCanUnloadNow-Funktion (combaseapi.h)
Bestimmt, ob die DLL, die diese Funktion implementiert, verwendet wird. Andernfalls kann der Aufrufer die DLL aus dem Arbeitsspeicher entladen.
OLE stellt diese Funktion nicht bereit. DLLs, die das OLE-Komponentenobjektmodell (COM) unterstützen, sollten DllCanUnloadNow implementieren und exportieren.
Syntax
HRESULT DllCanUnloadNow();
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls wird sie S_FALSE.
Hinweise
Ein Aufruf von DllCanUnloadNow bestimmt, ob die DLL, aus der sie exportiert wird, weiterhin verwendet wird. Eine DLL wird nicht mehr verwendet, wenn sie keine vorhandenen Objekte verwaltet (die Verweisanzahl für alle objekte ist 0).
Hinweise für Anrufer
Sie sollten DllCanUnloadNow nicht direkt aufrufen müssen. OLE ruft sie nur über einen Aufruf der Funktion CoFreeUnusedLibraries auf . Wenn S_OK zurückgegeben wird, gibt CoFreeUnusedLibraries die DLL frei.Hinweise zu Implementierern
Sie müssen DllCanUnloadNow in DLLs implementieren und aus diesen exportieren, die über einen Aufruf der CoGetClassObject-Funktion dynamisch geladen werden sollen. (Sie müssen auch die DllGetClassObject-Funktion in derselben DLL implementieren und exportieren.)Wenn eine DLL, die über einen Aufruf von CoGetClassObject geladen wird, DllCanUnloadNow nicht exportieren kann, wird die DLL erst entladen, wenn die Anwendung die CoUninitialize-Funktion aufruft, um die OLE-Bibliotheken freizugeben.
DllCanUnloadNow sollte S_FALSE zurückgeben, wenn Verweise auf Objekte vorhanden sind, die von der DLL verwaltet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | combaseapi.h (include Objbase.h) |