Solved

Simple API Question

Posted on 2003-11-20
5
190 Views
Last Modified: 2010-05-01
I am using an API for some mail server software.  I dont have much experience of VB APIs and the documentation with the API is poor.  I have managed to get some stuff working but I dont understand it.

The API is Decalred as follows:

Public Declare Function AddDomain Lib "api" (ByVal Name As String, ByRef Buffer As Any, ByVal Size As Long) As Long

I understand that the Function returns a Long with 0 indicating sucess and any other number indicating an error message.  I understand that Name is the domain name to add.  What I dont understand is what the Buffer is and what the keyword Any means.  The code below does work I just dont understand the buffer stuff.  Any explanations please?

    Dim abBuffer(1 To 1024) As Byte
   
    MsgBox (AddDomain("psllllllsssasdasdsadsoo.homeip.net", abBuffer(1), 1024))
0
Comment
Question by:daveamour
  • 3
  • 2
5 Comments
 
LVL 4

Accepted Solution

by:
Steve Sirica earned 50 total points
ID: 9789051
Sometimes API functions have types/structures associated with them.  They would look something like this:
type xxx
    zzz as string
    qqq as string
end type

Any might be one of these...Do you see anything like that in the documentation?
0
 
LVL 19

Author Comment

by:daveamour
ID: 9789093
I dont see anything like that for this particular function (AddDomain).  I do understand what you mean though.  Am I right in thinking the buffer can be used to pass data in and to receive data back?  That makes sense to me, I guess I was just confused since this seems redundant with the AddDomain function which seems to only return a Long to indicate success or failure.

Does this sound right?

Dave
0
 
LVL 4

Expert Comment

by:Steve Sirica
ID: 9789153
Hard to answer without knowing the API, but I have seen functions that return data in one of the parms.

So I guess my asnswer is Yes...it sounds on track.
0
 
LVL 19

Author Comment

by:daveamour
ID: 9789180
AhhI think you are right.  I think before you call the AddDomain function you can optionally populate the buffer with data representing various parameters and settings for the domain name.

Got there in the end!

Thanks

Dave
0
 
LVL 4

Expert Comment

by:Steve Sirica
ID: 9789195
You're welcome.

Steve
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question