I'm trying to play with the SPTD and it's not working. Here is my code...
Code:
PVOID pCdvdBurnerGrabber = NULL;
LPWSTR lpszW = new WCHAR[255];
LPTSTR lpStr = sDrive.GetBuffer(sDrive.GetLength());
int nLen = MultiByteToWideChar(CP_ACP, 0, lpStr, -1, NULL, NULL);
MultiByteToWideChar(CP_ACP, 0, lpStr, -1, lpszW, nLen);
ExceptionNumber =
StarBurn_CdvdBurnerGrabber_CreateExEx(
&pCdvdBurnerGrabber,
ExceptionText.GetBuffer(1024),
sizeof(ExceptionText),
&SystemError,
&FailureInformation,
(PCALLBACK) (BurnCallback),
NULL,
lpszW,
FALSE, // Tried setting this to both TRUE and FALSE
0
);
delete[] lpszW;
When I run it I get a System error 5. I made sure the STPD distributable was installed on my PC and I made sure that sptduser.lib was in my link list. I also verified via the debugger that the multibyte to unicode conversion was working properly (even tried replacing the variable with a static L"H:" to make sure that wasn't it) bu it keeps failing.
Here is the debug output...
Code:
CStarBurn_ScsiTransportSPTD::CStarBurn_ScsiTransportSPTD(): EXITing with failure, status 5, message 'CStarBurn_ScsiTransportSPTD::CStarBurn_ScsiTransportSPTD(): SptdUserGetPlatformInfo( 0x00000000, 0x0013D6A4, 0x0013D68C, 0x00000000 ) failed, status 5 ( 0x5 )'
Any ideas?
Dan