Атрибуты функций

[ Обратный вызов ] и [ локальные ] атрибуты можно применять в качестве атрибутов функций.

Обратный вызов — это удаленный вызов от сервера к клиенту, который выполняется как часть концептуального потока с одним выполнением. Обратный вызов всегда выдается в контексте удаленного вызова (или обратного вызова) и выполняется потоком, который выдал исходный удаленный вызов (или обратный вызов).

Часто желательно поместить объявление локальной процедуры в IDL-файл, так как это логическое место для описания интерфейсов пакета. [ Локальный ] атрибут указывает на то, что объявление процедуры на самом деле не является удаленной функцией, а локальной процедурой. Компилятор MIDL не создает никаких заглушек для функций с [ локальным ] атрибутом.

Важно отметить, что использование [ обратного вызова ] не рекомендуется в многопоточном программировании. Как однопотоковое программное обеспечение, оно не поддерживает требования безопасности для многопотоковой среды.