예제 #1
0
        public IDxcBlob GetOutput(DxcOutKind kind)
        {
            Result result = GetOutput(kind, typeof(IDxcBlob).GUID, out IntPtr nativePtr, IntPtr.Zero);

            if (result.Failure)
            {
                return(default);
예제 #2
0
    public unsafe T GetOutput <T>(DxcOutKind kind, out IDxcBlobUtf16?outputName) where T : ComObject
    {
        IntPtr outputNamePtr = IntPtr.Zero;

        GetOutput(kind, typeof(T).GUID, out IntPtr nativePtr, new IntPtr(&outputNamePtr)).CheckError();

        outputName = new IDxcBlobUtf16(outputNamePtr);
        return(MarshallingHelpers.FromPointer <T>(nativePtr) !);
    }
예제 #3
0
    public Result GetOutput <T>(DxcOutKind kind, out T? @object) where T : ComObject
    {
        Result result = GetOutput(kind, typeof(T).GUID, out IntPtr nativePtr, IntPtr.Zero);

        if (result.Failure)
        {
            @object = default;
            return(result);
        }

        @object = MarshallingHelpers.FromPointer <T>(nativePtr);
        return(result);
    }
예제 #4
0
    public unsafe Result GetOutput <T>(DxcOutKind kind, out T? @object, out IDxcBlobUtf16?outputName) where T : ComObject
    {
        IntPtr outputNamePtr = IntPtr.Zero;
        Result result        = GetOutput(kind, typeof(T).GUID, out IntPtr nativePtr, new IntPtr(&outputNamePtr));

        if (result.Failure)
        {
            @object    = default;
            outputName = default;
            return(result);
        }

        @object    = MarshallingHelpers.FromPointer <T>(nativePtr);
        outputName = new IDxcBlobUtf16(outputNamePtr);
        return(result);
    }
예제 #5
0
 public T GetOutput <T>(DxcOutKind kind) where T : ComObject
 {
     GetOutput(kind, typeof(T).GUID, out IntPtr nativePtr, IntPtr.Zero).CheckError();
     return(MarshallingHelpers.FromPointer <T>(nativePtr) !);
 }
예제 #6
0
 public IDxcBlob GetOutput(DxcOutKind kind)
 {
     GetOutput(kind, typeof(IDxcBlob).GUID, out IntPtr nativePtr, IntPtr.Zero).CheckError();
     return(new IDxcBlob(nativePtr));
 }