AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Struct

Ein Thema von EWeiss · begonnen am 11. Apr 2015 · letzter Beitrag vom 12. Apr 2015
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Zugriff auf Struct

  Alt 11. Apr 2015, 23:19
Will irgendwie nicht

Code:
    public static bool TagsLibrary_GetAudioAttributes(HTAGS Tags, TAudioType AudioType, [In, Out, MarshalAs(UnmanagedType.AsAny)] IntPtr Attributes)
    {
      IntPtr ptr = TagsLibrary_GetAudioAttributesPtr(Tags, AudioType, Attributes);
      if (ptr != IntPtr.Zero)
      {
        return Convert.ToBoolean(Marshal.PtrToStructure(ptr, typeof(TagsLibraryDefs_API.TAudioAttributes)));
      }
      return false;
    }
    [DllImport("TagsLib.dll", EntryPoint = "TagsLibrary_GetAudioAttributes", CharSet = CharSet.Auto)]
    private static extern IntPtr TagsLibrary_GetAudioAttributesPtr(HTAGS Tags, TAudioType AudioType, [In, Out, MarshalAs(UnmanagedType.AsAny)] IntPtr Attributes);
Hmmm..
Zitat:
System.Runtime.InteropServices.MarshalDirectiveExc eption was unhandled
HResult=-2146233035
Message="parameter #3" kann nicht gemarshallt werden: Ungültige verwaltete/nicht verwaltete Typenkombination (Int/UInt muss mit SysInt oder SysUInt kombiniert werden)..
Source=TagsLibraryDefs.Net
StackTrace:
bei TagsLibraryDefs_API.TagsLib.TagsLibrary_GetAudioAt tributesPtr(HTAGS Tags, TAudioType AudioType, IntPtr Attributes)
gruss

Geändert von EWeiss (12. Apr 2015 um 05:18 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Zugriff auf Struct

  Alt 12. Apr 2015, 01:07
Funktioniert jetzt

Code:
  [Serializable, StructLayout(LayoutKind.Sequential, Pack = 1)]
  public struct TAudioAttributes
  {
    public int Channels;
    public int SamplesPerSec;
    public int BitsPerSample;
    public double PlayTime;
    public UInt64 SampleCount;
    public int Bitrate;
  }
Code:
    //TagsLibrary_GetAudioAttributes
    [DllImport("TagsLib.dll", EntryPoint = "TagsLibrary_GetAudioAttributes", CharSet = CharSet.Auto)]
    public static extern TTagError TagsLibrary_GetAudioAttributes(HTAGS Tags, TAudioType AudioType, ref TAudioAttributes Attributes);
War doch gar nicht so schwer.. LOL

gruss

Geändert von EWeiss (12. Apr 2015 um 06:38 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz