createAttribute method

XmlAttribute? createAttribute(
  1. String name
)

Implementation

XmlAttribute? createAttribute(String name) {
  final newAttribute = calloc<COMObject>();

  final hr = ptr.ref.vtable
          .elementAt(14)
          .cast<
              Pointer<
                  NativeFunction<
                      HRESULT Function(VTablePointer lpVtbl, IntPtr name,
                          Pointer<COMObject> newAttribute)>>>()
          .value
          .asFunction<
              int Function(VTablePointer lpVtbl, int name,
                  Pointer<COMObject> newAttribute)>()(
      ptr.ref.lpVtbl, name.toHString(), newAttribute);

  if (FAILED(hr)) {
    free(newAttribute);
    throwWindowsException(hr);
  }

  if (newAttribute.isNull) {
    free(newAttribute);
    return null;
  }

  return XmlAttribute.fromPtr(newAttribute);
}