Extents[index].Lcn
Extents[index].NextVcn
Формат структуры...
DWORD ExtentCount;
LARGE_INTEGER StartingVcn;
struct {
LARGE_INTEGER NextVcn;
LARGE_INTEGER Lcn;
} Extents[1];
}
С полями ExtentCount и StartingVcn все понятно ,а вот что значит вложенное определение структуры и Extents[1] в конце?
помоему объявление массива Extents данной структуры из одного элемента. странно только что имя структуры после типа struct не указано.
Это допускается - если происходит объявление поля структурного типа, то имя типа структуры можно не указывать. Хотя неудобно тем, что по второму разу этот тип данных уже использовать нельзя :(
А вот объявлять структуру через typedef - нечитаемая бредятина, которой порой страдают разработчики.
Тоесть:StructName->Extents[r].Lcn или StructName->Extents[r].NextVcn.
Нутрром чучтвую а доказать не могу.
PS:это определение взято из файла микроцовта:WINIOCTL.h(инклуд файл Visual Studio)
Код:
Массив единичного размера последним полем структуры - признак структуры неопределенной длины.
Объекты такого типа создают "вручную", выделяя блок памяти с учетом реального размера массива.
Далее можно обращаться к елементам массива простой индексацией.