O que acontece se eu chamar GlobalLock () e falhar em chamar GlobalUnlock ()?

No Win32, para colar dados na área de transferência, eu tenho que chamarGlobalAlloc(), entãoGlobalLock() para obter um ponteiro, copie os dados e chameGlobalUnlock() eSetClipboardData().

Se o código estiver em C ++, uma exceção poderá ser lançada entre chamadas paraGlobalLock() eGlobalUnlock() e se eu não cuidar dissoGlobalUnlock() não será chamado.

Isso é um problema? O que exatamente acontece se eu ligarGlobalLock() e por qualquer motivo, pule um emparelhamentoGlobalUnlock() ligar?

questionAnswers(2)

yourAnswerToTheQuestion