createInstance method

int createInstance(
  1. Pointer<COMObject> pUnkOuter,
  2. Pointer<GUID> riid,
  3. Pointer<Pointer<NativeType>> ppvObject
)

Implementation

int createInstance(
  Pointer<COMObject> pUnkOuter,
  Pointer<GUID> riid,
  Pointer<Pointer> ppvObject,
) => (ptr.ref.vtable + 3)
    .cast<
      Pointer<
        NativeFunction<
          Int32 Function(
            Pointer,
            Pointer<COMObject> pUnkOuter,
            Pointer<GUID> riid,
            Pointer<Pointer> ppvObject,
          )
        >
      >
    >()
    .value
    .asFunction<
      int Function(
        Pointer,
        Pointer<COMObject> pUnkOuter,
        Pointer<GUID> riid,
        Pointer<Pointer> ppvObject,
      )
    >()(ptr.ref.lpVtbl, pUnkOuter, riid, ppvObject);