Как компилятор C++ определяет адрес NDIS_MINIPORT_BLOCK ?

Тема в разделе "WASM.NT.KERNEL", создана пользователем Charlief, 7 фев 2011.

  1. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    Когда компилируются вызовы различных функций из NDIS_MINIPORT_BLOCK, например:

    Код (Text):
    1. #define NdisMIndicateReceivePacket(_H, _P, _N)                                  \
    2. {                                                                               \
    3.     (*((PNDIS_MINIPORT_BLOCK)(_H))->PacketIndicateHandler)(                     \
    4.                         _H,                                                     \
    5.                         _P,                                                     \
    6.                         _N);                                                    \
    7. }
    получается что компилятор уже как-то определил адрес структуры NDIS_MINIPORT_BLOCK. Тоесть где-то приводится указатель какого-то типа к указателю на NDIS_MINIPORT_BLOCK ?

    Вопрос: что это за указатель и как я могу его найти ?
     
  2. lhc645

    lhc645 New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    106
    >> Вопрос: что это за указатель и как я могу его найти ?

    Нужен минипорт. Указатель можно взять из MiniportInitialize

    http://www.osronline.com/ddkx/network/103ndisx_5uuq.htm
     
  3. Charlief

    Charlief New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2010
    Сообщения:
    129
    NDIS_HANDLE MiniportAdapterHandle значит.

    lhc645
    Спасибо !