You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Функция GcaCodeRun исполняет код, загруженный в ключ, из другого участка загруженного кода.

    int GRD_API GcaCodeRun(
                HANDLE  hGrd,
                DWORD   dwAlgoName,
                DWORD   dwP1,
                DWORD   *pdwRet,
                DWORD   dwDataFromDongleLng,
                void    *pDataFromDongle,
                DWORD   dwDataToDongleLng,
                void    *pDataToDongle,
                void    *pReserved 
    ); 	

    hGrd

    Не используется.

    dwAlgoName

    Числовое имя алгоритма

    dwP1

    Параметр, передаваемый в подфункцию (аналог main ) загружаемого кода.

    pdwRet

    Параметр, возвращаемый из подфункции (аналог main ) загружаемого кода.

    dwDataFromDongleLng

    Размер блока данных, получаемых из ключа

    pDataFromDongle

    Указатель на буфер для блока данных, получаемых из ключа

    dwDataToDongleLng

    Размер блока данных передаваемых в ключ.

    pDataToDongle

    Указатель на буфер для блока данных, передаваемых в ключ

    pReserved

    Зарезервировано. Должно быть NULL.

    Функция GcaCodeRun аналогична GrdCodeRun из внешнего Guardant API, она служит для запуска кода, предварительно загруженного в ключ, из другого участка загруженного в ключ кода.

    При использовании GcaCodeRun, области ОЗУ запускающего и запускаемого загружаемого кода не должны пересекаться или совпадать для предотвращения затирания общей памяти. Рекурсия запрещена. При попытке вызова GcaCodeRun в описанных выше ситуациях возвращается код ошибки GrdE_gcRamAccessViolation. Глубина таких вызовов равна 1. Таким образом, при попытке запуска загружаемого кода из другого загружаемого кода, запущенного, в свою очередь, с помощью GcaCodeRun, возвращается код ошибки GrdE_gcCallDepthOverflow.

    В main-функцию пользовательского кода передается параметр dwP1 и буфер данных pDataToDongle. По завершению работы main-функции пользовательского кода, она возвращает pdwRet и буфер данных pDataToDongle.

    Время работы main функции пользовательского кода ограничено 3 сек по умолчанию, если иное не задано GcaSetTimeout.

     

     

    • No labels