I was reading through some code that dealt with opening a .wav and reading out the data. I came across this snippet. The author commented what was going on in this section. I'm confused about how this if statement actual works. Could someone walk me through it. Seems like it's calling a function and checking its return value with the "if" statement all at the same time.
1 2 3 4 5 6 7
/* Open the file for reading with buffered I/O. Let windows use its default internal buffer */
if (NULL == (h->hMmio = mmioOpen( (LPTSTR) szFileName, NULL, MMIO_READ | MMIO_ALLOCBUF | MMIO_DENYWRITE)))
{
/* Oops, file doesn't exist or access denied! */
goto error;
}