Если hGrd равен NULL, то функция выделяет динамическую память для создания контейнера. В противном случае контейнер будет размещен в памяти по тому адресу, который указан в параметре hGrd. Размер этого блока памяти во избежание ошибок должен быть не меньше значения константы GrdContainerSize.
При создании защищенного контейнера, внутри API создается критическая секция, через которую происходит синхронизация обращений к ключу из разных потоков. Использовать режим многопоточности рекомендуется только в тех случаях, когда работа с ключом действительно будет производиться из нескольких потоков. В остальных случаях следует создавать защищенный контейнер для использования ключа в монопольном режиме.