次のコード(Delphi)を使用してグローバルインターフェイステーブルを取得しようとしています。
uses Comobj, ActiveX;
var
cGIT : IGlobalInterfaceTable = NIL;
const
CLSID_StdGlobalInterfaceTable: TGUID = '{00000146-0000-0000-C000-000000000046}';
function GIT : IGlobalInterfaceTable;
begin
if (cGIT = NIL) then
OleCheck (CoCreateInstance (CLSID_StdGlobalInterfaceTable, NIL,
CLSCTX_ALL, IGlobalInterfaceTable, cGIT ));
Result := cGIT;
end;
ただし、CoCreateInstanceは「ClassNotRegistered」例外をスローします。そして確かに:HKCR / CLSIDには、{00000146-など}のエントリはありません。
レジストリでこの定義を取得するには、どのdllまたはocxを登録する必要がありますか?それとも私はそれを完全に間違っていますか?