Re: [Win32Lib] trying to wrap GetDriveType

new topic     » goto parent     » topic index » view thread      » older message » newer message

CChris wrote:
> 
> Dan Moyer wrote:
> > 
> > I'm trying to wrap GetDriveType API, and don't really know what I'm doing;
> > here's what I tried, and the result is error: "Couldn't link to C function
> > 'GetDriveType'"
> > 
> > Can someone show me how to do it right??
> > 
> > (Below the following code is what I found about "GetDriveType")
> > 
> > Dan Moyer
> > 
> > }}}
<eucode>
> > 
> > include win32lib.ew
> > integer dummy
> > 
> > constant xGetDriveType = registerw32Function(kernel32,"GetDriveType",
>                                                                      ^^^^
> 
> Usinge DEMO\Win32^dsearch.exw, you'd see that the API name is "GetDriveTypeA".
> Add that 'A',
> which stands for ANSI, and everything will be fine.
> On say a Middle/Far Eastern build of Windows, you'd use 'W' instead (Unicode
> build of the dll).
> 
> CChris

And Greg wrote:


>>Here's your answer right here:

> Unicode Implemented as GetDriveTypeW (Unicode) and GetDriveTypeA (ANSI).

>>All Win32 API functions that deal with strings use 8-bit characters (ANSI) or
>>16-bit characters (Unicode). Euphoria doesn't natively support Unicode (yet?)
>>so just use the ANSI function. You need to define it like this.


>>constant xGetDriveType =
>>registerw32Function(kernel32,"GetDriveTypeA",{C_POINTER}, C_UINT  )


>>(Also, the return type appears to be C_UINT, not C_LONG.)


>>-Greg

Thanks guys, that makes sense, but when I make those two corrections, I get
another error:

"w32dll.ew:212 in function w32Func() 
C routine GetDriveTypeA() needs 1 argument, not 3"

include win32lib.ew
integer dummy

constant xGetDriveType = registerw32Function(kernel32,"GetDriveTypeA",
{C_POINTER},C_UINT  )

 if w32Func(xGetDriveType, "C:\\") = 2 then
      puts(1, " REMOVABLE DRIVE")
  else
      puts(1, "non removable drive")
  end if
          
dummy = wait_key()


Dan

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu