相关疑难解决方法(0)

Marshal.PtrToStructure()和结构DEVMODE中的char数组的问题

我在使用Marshal.PtrToStructure()从指向DEVMODE类型结构的指针中提取数据时遇到问题.以下是DEVMODE结构上MSDN条目的链接.

我对此结构的C#实现如下:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct DEVMODE
{
    public const int CCHDEVICENAME = 32;
    public const int CCHFORMNAME = 32;

    public unsafe fixed char dmDeviceName [CCHDEVICENAME];
    public Int16 dmSpecVersion;
    public Int16 dmDriverVersion;
    public Int16 dmSize;
    public Int16 dmDriverExtra;
    public DM_FIELD_TYPE dmFields;

    public Int16 dmOrientation;
    public Int16 dmPaperSize;
    public Int16 dmPaperLength;
    public Int16 dmPaperWidth;
    public Int16 dmScale;
    public Int16 dmCopies;
    public Int16 dmDefaultSource;
    public Int16 dmPrintQuality;

    public POINTL dmPosition;
    public Int32 dmDisplayOrientation;
    public Int32 dmDisplayFixedOutput;

    public short …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke marshalling

4
推荐指数
1
解决办法
3766
查看次数

标签 统计

c# ×1

marshalling ×1

pinvoke ×1