Поделиться через


Out-Only уникальные или полные параметры указателя не принимаются

Компилятор MIDL не принимает уникальные или полные указатели, только [ out]. Такие спецификации приводят к тому, что компилятор MIDL создает сообщение об ошибке.

Автоматически созданная заглушка сервера должна выделить память для ссылки указателя, чтобы серверное приложение хранило данные в этой области памяти. Согласно определению параметра [out]only, никакие сведения о параметре не передаются от клиента к серверу. В случае уникального указателя, который может принимать значение NULL, заглушка сервера не имеет достаточно сведений для правильного дублирования уникального указателя в адресном пространстве сервера, и заглушка не содержит никаких сведений о том, должен ли указатель указывать на допустимый адрес или следует ли ему задать значение NULL. Поэтому такое сочетание не допускается.

Вместо указателей [out, unique] или [out, ptr] используйте указатели [in, out, unique] или [in, out, ptr] или используйте другой уровень косвенного обращения, например указатель ссылки, указывающий на допустимый уникальный или полный указатель.