OOP Delphi

Title: GetDocumentation for Type Library
Question: Recently I developed Automation Server for reports in Word and was surprised with
failure trying to get Help String for TypeLibrary
Answer:
Recently I developed Automation Server for reports in Word and was surprised with failure trying to get Help String for TypeLibrary by following code
Var
k, InfoCount : Integer;
TypeLib : ITypeLib;
TypeLibGUID : TGUID;
ErrorStr: String;
HRes : HResult;
pbstrDocString, pbstrName : WideString;
begin
Memo1.Lines.Clear;
// InputGUIDString is given input string value
TypeLibGUID := StringToGUID(InputGUIDString);
// loads Type Library from registry
HRes := LoadRegTypeLib(TypeLibGUID, 1, 0, 0, TypeLib);
if Failed(HRes) then
Exit;
// believing in mind, that so it is in practice!
InfoCount := TypeLib.GetTypeInfoCount; for k:=0 to kInfoCount-1 do
begin
HRes := TypeLib.GetDocumentation(k, @pbstrName, @pbstrDocString, nil, nil);
if Failed(HRes) then
Continue;
Memo1.Lines.Add(pbstrName + ': ' + pbstrDocString);
end;
Here was no errors!
But the thing is that help string for Type Library resides beyond the range [0..kInfoCount-1] so
TypeLib.GetTypeInfoCount reports about ITypeInfo count, excluding ITypeInfo for himself.
Did you know about it?
To get Help String for self Type Library one must implement
TypeLib.GetDocumentation(-1, @pbstrName, @pbstrDocString, nil, nil);
Isn't it unexpectedly for Delphi programmers? I didn't found anything about it in Delphi help!