Я пытаюсь инициализировать указатель GUID на значения NULL для использования с DirectX ... Я пишу парсер файлов .X.
У меня проблемы с инициализацией указателя GUID! Мне нужно сравнить тип входного GUID из файла с внутренне определенными типами шаблонов, чтобы я мог указать своей программе, что делать с информацией в «шаблоне из файла».
Вот что у меня есть:
BOOL cXMeshParser::ParseObject(LPD3DXFILEDATA pDataObj, DWORD Depth, void **data)
{
if(pDataObj->IsReference())
return true;
GUID pTemplateGUID;
memset(&pTemplateGUID, 0, sizeof(GUID));
GUID *pCpyGUID;
memset(&pCpyGUID, 0, sizeof(GUID));
memcpy(&pCpyGUID, &pTemplateGUID, sizeof(GUID));
pDataObj->GetType(pCpyGUID);
int isEqual =0;
isEqual = IsEqualGUID(*pCpyGUID, TID_D3DRMMesh);
if(isEqual){
...
}
}
когда я запускаю отладчик, данные в pCpyGUID неверны (не NULL)
Я использовал обычное определение GUID (GUID pTemplateGUID), чтобы попытаться скопировать GUID в const GUID * (я могу инициализировать GUID ... не GUID *) ... текущая проблема с анализатором заключается в том, что сравнение между данными шаблона и внутренним определением невозможно оценить ...
Мой вопрос:
Как написать правильную инициализацию для const GUID *?