473,503 Members | 12,367 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

acmStreamOpen always fails with MMSYSERR_INVALFLAG Why?

Hi,
I'm trying to use the acm APIs in VB.NET. acmStreamOpen always returns
MMSYSERR_INVALFLAG. Here's how I use it :

declaration is :

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll" (ByRef phas As IntPtr,
ByVal had As Long, ByRef pwfxSrc As MPEGLAYER3WAVEFORMAT, ByRef pm_wfxDst As
WAVEFORMATEX, ByRef pwfltr As Long, ByRef dwCallback As Long, ByRef
dwinstance As Long, ByVal fdwOpen As Int32) As Int32

Used like this :

res = acmStreamOpen(m_has, 0&, m_MP3wfxSrc, m_wfxDst, 0&, 0&, 0&,
ACM_STREAMOPENF_NONREALTIME)

It returns 10, so Invalid Flag... the only specified flag is NonRealtime so
it should work for almost any codec. I'm trying to convert from Mp3 to Wave
(PCM) so I really don't see why it fails. Can someone help me please? I
don't think this is a .NET related error, but I'm posting in .net groups
anyway, in case it does.

Thanks

ThunderMusic
Dec 30 '05 #1
14 3505
ThunderMusic wrote:
I'm trying to use the acm APIs in VB.NET. acmStreamOpen
always returns MMSYSERR_INVALFLAG. Here's how I use it :

declaration is :

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr, ByVal had As Long, ByRef pwfxSrc
As MPEGLAYER3WAVEFORMAT, ByRef pm_wfxDst As WAVEFORMATEX,
ByRef pwfltr As Long, ByRef dwCallback As Long, ByRef
dwinstance As Long, ByVal fdwOpen As Int32) As Int32
Used like this :

res = acmStreamOpen(m_has, 0&, m_MP3wfxSrc, m_wfxDst, 0&,
0&, 0&, ACM_STREAMOPENF_NONREALTIME)


Try this:

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr,
ByVal had As IntPtr,
ByRef pwfxSrc As MPEGLAYER3WAVEFORMAT,
ByRef pm_wfxDst As WAVEFORMATEX,
ByVal pwfltr As IntPtr,
ByVal dwCallback As IntPtr,
ByVal dwinstance As IntPtr,
ByVal fdwOpen As Int32) As Int32

res = acmStreamOpen(m_has, 0, m_MP3wfxSrc, m_wfxDst,
0, 0, 0, ACM_STREAMOPENF_NONREALTIME)

If it doesn't like 0, use IntPtr.Zero.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 30 '05 #2
ThunderMusic wrote:
I'm trying to use the acm APIs in VB.NET. acmStreamOpen
always returns MMSYSERR_INVALFLAG. Here's how I use it :

declaration is :

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr, ByVal had As Long, ByRef pwfxSrc
As MPEGLAYER3WAVEFORMAT, ByRef pm_wfxDst As WAVEFORMATEX,
ByRef pwfltr As Long, ByRef dwCallback As Long, ByRef
dwinstance As Long, ByVal fdwOpen As Int32) As Int32
Used like this :

res = acmStreamOpen(m_has, 0&, m_MP3wfxSrc, m_wfxDst, 0&,
0&, 0&, ACM_STREAMOPENF_NONREALTIME)


Try this:

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr,
ByVal had As IntPtr,
ByRef pwfxSrc As MPEGLAYER3WAVEFORMAT,
ByRef pm_wfxDst As WAVEFORMATEX,
ByVal pwfltr As IntPtr,
ByVal dwCallback As IntPtr,
ByVal dwinstance As IntPtr,
ByVal fdwOpen As Int32) As Int32

res = acmStreamOpen(m_has, 0, m_MP3wfxSrc, m_wfxDst,
0, 0, 0, ACM_STREAMOPENF_NONREALTIME)

If it doesn't like 0, use IntPtr.Zero.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 30 '05 #3
hi,
now it returns 512, and I don't know what it means...

"Alessandro Angeli [MVP::DigitalMedia]" <no****@nowhere.in.the.net> a écrit
dans le message de news: ev*************@TK2MSFTNGP10.phx.gbl...
ThunderMusic wrote:
I'm trying to use the acm APIs in VB.NET. acmStreamOpen
always returns MMSYSERR_INVALFLAG. Here's how I use it :

declaration is :

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr, ByVal had As Long, ByRef pwfxSrc
As MPEGLAYER3WAVEFORMAT, ByRef pm_wfxDst As WAVEFORMATEX,
ByRef pwfltr As Long, ByRef dwCallback As Long, ByRef
dwinstance As Long, ByVal fdwOpen As Int32) As Int32
Used like this :

res = acmStreamOpen(m_has, 0&, m_MP3wfxSrc, m_wfxDst, 0&,
0&, 0&, ACM_STREAMOPENF_NONREALTIME)


Try this:

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr,
ByVal had As IntPtr,
ByRef pwfxSrc As MPEGLAYER3WAVEFORMAT,
ByRef pm_wfxDst As WAVEFORMATEX,
ByVal pwfltr As IntPtr,
ByVal dwCallback As IntPtr,
ByVal dwinstance As IntPtr,
ByVal fdwOpen As Int32) As Int32

res = acmStreamOpen(m_has, 0, m_MP3wfxSrc, m_wfxDst,
0, 0, 0, ACM_STREAMOPENF_NONREALTIME)

If it doesn't like 0, use IntPtr.Zero.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net

Dec 30 '05 #4
ok, I found the 512 return value means that the conversion is impossible.
The thing is, I'm starting from a mp3 file (96kbps) to a Wave File (44100,
16bits, stereo). Here are the settings I use (I get these with the
acmFormatSuggest Function) :

- m_wfxDst {WAVEFORMATEX} WAVEFORMATEX
cbSize 0 Short
nAvgBytesPerSec 176400 Integer
nBlockAlign 2 Short
nChannels 2 Short
nSamplesPerSec 44100 Integer
wBitsPerSample 16 Short
wFormatTag 1 Short

- m_MP3wfxSrc {MPEGLAYER3WAVEFORMAT} MPEGLAYER3WAVEFORMAT
fdwFlags 0 Integer
nBlockSize 1 Short
nCodecDelay 0 Short
nFramesPerBlock 1 Short
- wfx {WAVEFORMATEX} WAVEFORMATEX
cbSize 12 Short
nAvgBytesPerSec 12000 Integer
nBlockAlign 0 Short
nChannels 2 Short
nSamplesPerSec 44100 Integer
wBitsPerSample 16 Short
wFormatTag 85 Short
wID 1 Short

Everything seems to be right, so I don't understand why I get this error.

Thanks for the help

ThunderMusic

"ThunderMusic" <NO.danlat.at.hotmail.com.SPAM> a écrit dans le message de
news: ew*************@TK2MSFTNGP15.phx.gbl...
hi,
now it returns 512, and I don't know what it means...

"Alessandro Angeli [MVP::DigitalMedia]" <no****@nowhere.in.the.net> a
écrit dans le message de news: ev*************@TK2MSFTNGP10.phx.gbl...
ThunderMusic wrote:
I'm trying to use the acm APIs in VB.NET. acmStreamOpen
always returns MMSYSERR_INVALFLAG. Here's how I use it :

declaration is :

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr, ByVal had As Long, ByRef pwfxSrc
As MPEGLAYER3WAVEFORMAT, ByRef pm_wfxDst As WAVEFORMATEX,
ByRef pwfltr As Long, ByRef dwCallback As Long, ByRef
dwinstance As Long, ByVal fdwOpen As Int32) As Int32
Used like this :

res = acmStreamOpen(m_has, 0&, m_MP3wfxSrc, m_wfxDst, 0&,
0&, 0&, ACM_STREAMOPENF_NONREALTIME)


Try this:

Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"
(ByRef phas As IntPtr,
ByVal had As IntPtr,
ByRef pwfxSrc As MPEGLAYER3WAVEFORMAT,
ByRef pm_wfxDst As WAVEFORMATEX,
ByVal pwfltr As IntPtr,
ByVal dwCallback As IntPtr,
ByVal dwinstance As IntPtr,
ByVal fdwOpen As Int32) As Int32

res = acmStreamOpen(m_has, 0, m_MP3wfxSrc, m_wfxDst,
0, 0, 0, ACM_STREAMOPENF_NONREALTIME)

If it doesn't like 0, use IntPtr.Zero.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net


Dec 30 '05 #5
"Error 512 - Not Possible" is the random return when you have upset the
Audio Compression Manager genie <g>.

I think that the WAVEFORMAT for the MPeg3 should have some extra bytes
added at the end of its structure. The only information I have for it
is a note in C / Delphi ...

// define MP3 output format
LPMPEGLAYER3WAVEFORMAT mp3format = (LPMPEGLAYER3WAVEFORMAT) LocalAlloc(

LPTR, maxFormatSize );
mp3format->wfx.cbSize = MPEGLAYER3_WFX_EXTRA_BYTES;
mp3format->wfx.wFormatTag = WAVE_FORMAT_MPEGLAYER3;
mp3format->wfx.nChannels = 2;
mp3format->wfx.nAvgBytesPerSec = 16000;
mp3format->wfx.wBitsPerSample = 0;
mp3format->wfx.nBlockAlign = 1;
mp3format->wfx.nSamplesPerSec = 44100; // 44.1kHz
mp3format->wID = MPEGLAYER3_ID_MPEG; <-thik this is ok
mp3format->fdwFlags = MPEGLAYER3_FLAG_PADDING_OFF;
mp3format->nBlockSize = MP3_BLOCK_SIZE; // 417
mp3format->nFramesPerBlock = 1; // MUST BE ONE
mp3format->nCodecDelay = 0; // 0 for LAME or 1393 for fraunh..

// Delphi declaration
TMpegAudioStreamFormat = packed record
wfx:TWavFormat ;
wID:WORD;
fdwFlags:DWORD;
nBlockSize:WORD;
nFramesPerBlock:WORD;
nCodecDelay:WORD;
end;

As you can see the mp3Format includes the WAVEFORMATEX structure and
then adds MPEGLAYER3_WFX_EXTRA_BYTES extra bytes. I don't know what the
value of this constant is, but it looks like 10 4 (DWord) + 6 (Word *
3).

I also think you may also need the Frauenhofer professional codec if
you are doing quality decoding. I had it in a file named I3codecp.exe
(first letter is eye). If you Google for it you may find it. Just run
it and it installs the codec.

To use ACM you must convert at the same sample rate (which you are). If
you want to change sample rate you have to do a three-stage conversion,
firstly to the same sample rate with different formats, then to
different sample rates at the same format. It makes for great fun with
multiple buffers in one line with multiple ACM streams <g>.
Alan Lloyd

Dec 30 '05 #6
ok, it works now with the good values in nBlockSize and nBlockAlign.... Now
I have a problem farther in the code (when it comes to allocate the
buffers), but it's strictly a .NET problem, so I will post in .NET groups...

thanks a lot

ThunderMusic

<al********@aol.com> a écrit dans le message de news:
11*********************@g49g2000cwa.googlegroups.c om...
"Error 512 - Not Possible" is the random return when you have upset the
Audio Compression Manager genie <g>.

I think that the WAVEFORMAT for the MPeg3 should have some extra bytes
added at the end of its structure. The only information I have for it
is a note in C / Delphi ...

// define MP3 output format
LPMPEGLAYER3WAVEFORMAT mp3format = (LPMPEGLAYER3WAVEFORMAT) LocalAlloc(

LPTR, maxFormatSize );
mp3format->wfx.cbSize = MPEGLAYER3_WFX_EXTRA_BYTES;
mp3format->wfx.wFormatTag = WAVE_FORMAT_MPEGLAYER3;
mp3format->wfx.nChannels = 2;
mp3format->wfx.nAvgBytesPerSec = 16000;
mp3format->wfx.wBitsPerSample = 0;
mp3format->wfx.nBlockAlign = 1;
mp3format->wfx.nSamplesPerSec = 44100; // 44.1kHz
mp3format->wID = MPEGLAYER3_ID_MPEG; <-thik this is ok
mp3format->fdwFlags = MPEGLAYER3_FLAG_PADDING_OFF;
mp3format->nBlockSize = MP3_BLOCK_SIZE; // 417
mp3format->nFramesPerBlock = 1; // MUST BE ONE
mp3format->nCodecDelay = 0; // 0 for LAME or 1393 for fraunh..

// Delphi declaration
TMpegAudioStreamFormat = packed record
wfx:TWavFormat ;
wID:WORD;
fdwFlags:DWORD;
nBlockSize:WORD;
nFramesPerBlock:WORD;
nCodecDelay:WORD;
end;

As you can see the mp3Format includes the WAVEFORMATEX structure and
then adds MPEGLAYER3_WFX_EXTRA_BYTES extra bytes. I don't know what the
value of this constant is, but it looks like 10 4 (DWord) + 6 (Word *
3).

I also think you may also need the Frauenhofer professional codec if
you are doing quality decoding. I had it in a file named I3codecp.exe
(first letter is eye). If you Google for it you may find it. Just run
it and it installs the codec.

To use ACM you must convert at the same sample rate (which you are). If
you want to change sample rate you have to do a three-stage conversion,
firstly to the same sample rate with different formats, then to
different sample rates at the same format. It makes for great fun with
multiple buffers in one line with multiple ACM streams <g>.
Alan Lloyd

Dec 30 '05 #7
al********@aol.com wrote:
LPTR, maxFormatSize );
mp3format->wfx.cbSize = MPEGLAYER3_WFX_EXTRA_BYTES;
mp3format->wfx.wFormatTag = WAVE_FORMAT_MPEGLAYER3;
mp3format->wfx.nChannels = 2;
mp3format->wfx.nAvgBytesPerSec = 16000;
mp3format->wfx.wBitsPerSample = 0;
mp3format->wfx.nBlockAlign = 1;
mp3format->wfx.nSamplesPerSec = 44100; // 44.1kHz
mp3format->wID = MPEGLAYER3_ID_MPEG; <-thik this is ok
mp3format->fdwFlags = MPEGLAYER3_FLAG_PADDING_OFF;
mp3format->nBlockSize = MP3_BLOCK_SIZE; // 417
mp3format->nFramesPerBlock = 1; // MUST BE ONE
mp3format->nCodecDelay = 0; // 0 for LAME or 1393 for
fraunh..
- 1393 as nCodedDelay when using the FhG codec is not
necessary (it works even with 0).

- 417 as nBlockSize is only valid for 44KHz/128Kbps/stereo:
it is the actual MP3 frame size and it depends on the
combination of samplerate/bitrate/channels and
nFramesPerBlock

- nFramesPerBlock should allow other values as long as
nBlockSize is also changed accordingly
As you can see the mp3Format includes the WAVEFORMATEX
structure and then adds MPEGLAYER3_WFX_EXTRA_BYTES extra
bytes. I don't know what the value of this constant is,
but it looks like 10 4 (DWord) + 6 (Word * 3).
From mmreg.h:

#define MPEGLAYER3_WFX_EXTRA_BYTES 12
I also think you may also need the Frauenhofer
professional codec if you are doing quality decoding. I
had it in a file named I3codecp.exe (first letter is
eye). If you Google for it you may find it. Just run it
and it installs the codec.


It is L3CodecP.acm and not I3CodecP.acm (L3 as in Layer3,
that is MP3) and it is also illegal to use without a license
from FhG, which is impossible to get AFAIK. I don't think
there is any difference in quality between the pro codec (P)
and the usual one in Windows (A): the A is simply limited to
a max of 56Kbps/24KHz when encoding, while the P had no
limits.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 30 '05 #8
ThunderMusic wrote:
ok, I found the 512 return value means that the
conversion is impossible. The thing is, I'm starting from
a mp3 file (96kbps) to a Wave File (44100, 16bits,
stereo). Here are the settings I use (I get these with
the acmFormatSuggest Function) :
- m_wfxDst {WAVEFORMATEX} WAVEFORMATEX
cbSize 0 Short
nAvgBytesPerSec 176400 Integer
nBlockAlign 2 Short
nChannels 2 Short
nSamplesPerSec 44100 Integer
wBitsPerSample 16 Short
wFormatTag 1 Short
Are you really sure you got this from acmFormatSuggest()?
With WAVE_FORMAT_PCM audio nBlockAlign must be
nChannels*wBitsPerSample/8, that is 4 and not 2.
- m_MP3wfxSrc {MPEGLAYER3WAVEFORMAT} MPEGLAYER3WAVEFORMAT
fdwFlags 0 Integer
nBlockSize 1 Short
nCodecDelay 0 Short
nFramesPerBlock 1 Short
- wfx {WAVEFORMATEX} WAVEFORMATEX
cbSize 12 Short
nAvgBytesPerSec 12000 Integer
nBlockAlign 0 Short
nChannels 2 Short
nSamplesPerSec 44100 Integer
wBitsPerSample 16 Short
wFormatTag 85 Short
wID 1 Short


Same as before, acmFormatSuggest() filled this in?
nBlockAlign is supposed to be 1 for WAVE_FORMAT_MPEGLAYER3
and nBlockSize is supposed to be the MP3 frame size, which
is always greater than 1 (313 for 44KHz/96Kbps/stereo).
nCodecDelay should be 1393 when using the system's FhG codec
(but it should work with 0 as well).
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 30 '05 #9
> #define MPEGLAYER3_WFX_EXTRA_BYTES 12

OK, but the Delphi structure shows 10, and interrogating
the driver with ACM gives 14 <g>

On another site the extra bytes were commented with "Void as every
frame of an MPEG file has the information which would be contained in
the extra bytes" - is this true ?
It is L3CodecP.acm and not I3CodecP.acm (L3 as in Layer3,
that is MP3)
My file is I3CodecP.acm (I for India) and that is how I downloaded it.
I don't know if it _is_ Frauenhofer's although that is how it is
labelled with an ACM call. When I got it (some years ago associated
with an article) I emailed Frauenhofer because I suspected it _might_
be pirated. They did not even reply so I assumed that they did not
care.

Alan Lloyd

and it is also illegal to use without a license
from FhG, which is impossible to get AFAIK.


Dec 31 '05 #10
al********@aol.com wrote:
#define MPEGLAYER3_WFX_EXTRA_BYTES 12
OK, but the Delphi structure shows 10, and interrogating
the driver with ACM gives 14 <g>


The Delphi definition is wrong and your ACM codec is not
compliant with the official definition of WAVEFORMATEX for
WAVE_FORMAT_MPEGLAYER3 given in the ACM registry, that is
mmreg.h. The original FhG codec and LAME are compliant and
so are other codecs. Besides, the structure should be DWORD
aligned (even if it is not an absolute requirement) and both
10 and 14 are not.
On another site the extra bytes were commented with "Void
as every frame of an MPEG file has the information which
would be contained in the extra bytes" - is this true ?
More or less.

- wID
not present in the header (and not necessary?)
- fdwFlags
padding; a bit in the header
- nBlockSize
not present in the header but implied by other bitfields
- nFramesPerBlock
not present in the header (and not necessary?)
- nCodecDelay
not present in the header (and not necessary?)
My file is I3CodecP.acm (I for India) and that is how I
downloaded it. I don't know if it _is_ Frauenhofer's
although that is how it is labelled with an ACM call.


If it's not a lower-case L (l), then I really doubt it's the
original FhG codec or, at least, they changed the name of
the file.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net


Dec 31 '05 #11
Alessandro Angeli [MVP::DigitalMedia] wrote:
al********@aol.com wrote:
#define MPEGLAYER3_WFX_EXTRA_BYTES 12


OK, but the Delphi structure shows 10, and interrogating
the driver with ACM gives 14 <g>


The Delphi definition is wrong [...]


On second thought, the Delphi definition you posted is
correct and reserves 12 bytes, not 10.

--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 31 '05 #12
Alessandro Angeli [MVP::DigitalMedia] wrote:
al********@aol.com wrote:
#define MPEGLAYER3_WFX_EXTRA_BYTES 12


OK, but the Delphi structure shows 10, and interrogating
the driver with ACM gives 14 <g>


The Delphi definition is wrong [...]


On second thought, the Delphi definition you posted is
correct and reserves 12 bytes, not 10.

--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Dec 31 '05 #13
> > mp3format->nBlockSize = MP3_BLOCK_SIZE; // 417
- 417 as nBlockSize is only valid for 44KHz/128Kbps/stereo:
it is the actual MP3 frame size and it depends on the
combination of samplerate/bitrate/channels and
nFramesPerBlock


Do you know the relationship betwee nBlockSize and nSamplesPerSec /
bitrate / nChannels / nFramesPerBlock ?

Alan Lloyd

Jan 3 '06 #14
al********@aol.com wrote:
Do you know the relationship betwee nBlockSize and
nSamplesPerSec / bitrate / nChannels / nFramesPerBlock ?


http://groups.google.com/group/micro...952ae237dc099d

Look at how the frame's payload size is computed. You can
find the complete tables on www.wotsit.org (search from
"mp3" and it's in one of the files).

Anyway, the best way to fill an MPEGLAYER3WAVEFORMAT is to
ask the ACM.
--
// Alessandro Angeli
// MVP :: Digital Media
// a dot angeli at psynet dot net
Jan 3 '06 #15

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
4419
by: yuri | last post by:
Hi all At coding XP Themes i can't get "GetThemeColor" to work. It always fails ("not found" err. code) regardless of which control parts and states entered. Could somebody help me with advice?...
3
1850
by: Fett | last post by:
Problem: My member variables in the child class are always null. I don't know why this happens! I have a base class for handling a user flow in my web, CWebUseCase, the class is declared like:...
4
2532
by: Pete H | last post by:
I would like to have my new C++ projects start out with two configurations, UnicodeDebug and UnicodeRelease, instead of the standard Debug and Release configurations that Visual Studio always...
14
2088
by: ThunderMusic | last post by:
Hi, I'm trying to use the acm APIs in VB.NET. acmStreamOpen always returns MMSYSERR_INVALFLAG. Here's how I use it : declaration is : Declare Auto Function acmStreamOpen Lib "MsAcm32.dll"...
1
1313
by: snavebelac | last post by:
Hi everyone I have a system running on a 2 server environment. One server has the internal database (SQL SERVER 2000 with an MSAccess front end on the clients) and is not open to the internet. ...
6
3353
by: itsolution | last post by:
Hi folks, Could you shed some light on this issue? my program is running on Freebsd as a daemon. When user sends a request, it forks itself and lets its child process handles the request....
2
1807
by: =?Utf-8?B?SmF5IE1pbGxlcg==?= | last post by:
I'm having problems with the login control when I publish my site. Everything works fine when I run the application from Visual Studio and when I browse directly to the site where it is being...
25
3886
by: Rick Collard | last post by:
Using DAO 3.6 on an Access 2002 database, I'm getting unexpected results with the FindFirst method. Here's the simple code to test: Public Sub FindIt() Dim db As Database, rs As Recordset...
4
2021
by: =?Utf-8?B?QXJtaW4gR2FsbGlrZXI=?= | last post by:
Hi I wrote a test for a workflow. Unfortunately my assertions in the eventhandler which I set up during initialization, fail in every case... What's the problem?? public void...
7
4620
by: Richie Kernagan | last post by:
Howdy Problem with the fread() call on MS Visual Studio 2005 running under Win 64. The parameters to fread size and count are both size_t ie 64 bits. Even so the call fails when the size arg...
0
7212
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7098
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7296
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7364
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7017
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7470
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
3174
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1524
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
751
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.