The documentation for mfxFrameAllocator::GetHDL states:
This function returns the OS-specific handle associated with a video frame. If the handle is a COM interface, the reference counter must increase. The SDK will release the interface afterward.
but all d3d samples simply return the handle without incrementing the ref count. I think the docs are wrong.
This function is intended to abstract access to the video frame handle. The allocator code in the tutorials is simplified to provide a starting point and documentation by example. It is a good starting point reference on this topic. The simple_gethdl implementations also simply return handles, though there may be more sophisticated scenarios such as when multiple threads might be accessing the same handle where more complexity is necessary. You are correct though -- the interface does not require incrementing any reference counters.
Thanks for pointing out that more clarification is needed here. Please watch for updates in the documentation as well as Intel Developer Zone articles on this subject.