Вы пишите приложение, которое добавляет заказчика к базе данных. Вы также создаете локальную не процессорную COM компоненту, которая обрабатывает новые заказы каждые пять минут. Приложение устанавливает эту компоненту в момент запуска. Как только компонента произведет обработку она модифицирует запись, что она обработана.
Вы хотите гарантировать, что и приложение и COM компонента не обращаются к той же самой записи в одно и тоже время. Что Вы должны делать ?
Правильный ответ D. Подобная ситуация решается объектами синхронизации. Но один должен создать объект синхронизации и установить блокировку, а другой должен проверять. Смотрим в вариантах A и B говориться только о коде либо на стороне клиента либо сервера. А в вариантах C и D о коде и у клиента и у сервера. Так что правильными должны быть последние варианты. При синхронизации на сервере создается объект синхронизации, а у клиента проверяется. Сам объект синхронизации нужно создавать. А в случае Mutex сервер создает (CreateMutex), a клиент открывает (OpenMutex). Да и вообще в варианте С создание объекта Mutex какое-то странное. Вот описание функции.
HANDLE CreateMutex ( LPSECURITY_ATTRIBUTES, // атрибуты BOOL bInitialOwner, // инициализация LPCTSTR lpName // имя обьекта );