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

Атрибуты [callback] и [local] можно применять в качестве атрибутов функции.

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

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

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