_wsplitpath_s にバグっぽいものがあるような気がします。俺だけ?

wchar_t FullPath[] = L"\\\\?\\d:"
wchar_t Drv[100];
_wsplitpath_s(FullPath,Drv,sizeof(Drv),NULL,0,NULL,0,NULL,0) // 失敗。 戻り値は0で、Drvには何も書き込まれていない。(きちんと分割できてない)

文字列の先頭に\があるせいかとも思ったが、下の例は成功する

wchar_t path[] = L"d:\\kuro01.wmv"
wchar_t FileName[1025],ext[257];
_wsplitpath_s(path,NULL,0,NULL,0,FileName,sizeof(FileName),ext,sizeof(ext)); // 成功。 戻り値0

XP SP3 + VC++ 2008 Express Edition

同じ戻り値0で文字列が\で始まってるのに、動作が違う!ふしぎ!

・・・なんで?
ちなみに、FullPathからFullPath+4に変えてやると成功する。