Calling a Function with a Structure Parameter : struct « Class Interface « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Class Interface » structScreenshots 
Calling a Function with a Structure Parameter
Calling a Function with a Structure Parameter

/*
A Programmer's Introduction to C# (Second Edition)
by Eric Gunnerson

Publisher: Apress  L.P.
ISBN: 1-893115-62-3
*/

// 31 - Interop\Calling Native DLL Functions\Calling a Function with a Structure Parameter
// copyright 2000 Eric Gunnerson
using System;
using System.Runtime.InteropServices;

struct Point
{
    public int x;
    public int y;
    
    public override string ToString()
    {
        return(String.Format("({0}, {1})", x, y));
    }
}

struct Rect
{
    public int left;
    public int top;
    public int right;
    public int bottom;
    
    public override string ToString()
    {
        return(String.Format("({0}, {1})\n    ({2}, {3})", left, top, right, bottom));
    }
}

struct WindowPlacement
{
    public uint length;
    public uint flags;
    public uint showCmd;
    public Point minPosition;
    public Point maxPosition;
    public Rect normalPosition;    
    
    public override string ToString()
    {
        return(String.Format("min, max, normal:\n{0}\n{1}\n{2}",
        minPosition, maxPosition, normalPosition));
    }
}

public class CallingaFunctionwithaStructureParameterWindow
{
    [DllImport("user32")]
    static extern int GetForegroundWindow();
    
    [DllImport("user32")]
    static extern bool GetWindowPlacement(int handle, ref WindowPlacement wp);
    
    public static void Main()
    {
        int window = GetForegroundWindow();
        
        WindowPlacement wp = new WindowPlacement();
        wp.length = (uintMarshal.SizeOf(wp);
        
        bool result = GetWindowPlacement(window, ref wp);
        
        if (result)
        {
            Console.WriteLine(wp);
        }
    
}
           
       
Related examples in the same category
1.Structs And Enums
2.Define struct and use it
3.Demonstrate a structureDemonstrate a structure
4.Copy a structCopy a struct
5.Structures are good when grouping dataStructures are good when grouping data
6.demonstrates a custom constructor function for a structuredemonstrates a custom constructor function for a structure
7.Defining functions for structs
8.demonstrates using a structure to return a group of variables from a functiondemonstrates using a structure to return a group of variables from a function
9.Demonstates assignment operator on structures and classes.Demonstates assignment operator on structures and classes.
10.Issue an error message if you do not initialize all of the fields in a structure
11.Illustrates the use of a structIllustrates the use of a struct
12.C# always creates a structure instance as a value-type variable even using the new operatorC# always creates a structure instance as a value-type variable even using the new operator
13.Structs (Value Types):A Point StructStructs (Value Types):A Point Struct
14.Structs (Value Types):Structs and ConstructorsStructs (Value Types):Structs and Constructors
15.Conversions Between Structs 1
16.Conversions Between Structs 2
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.