У меня есть фильтр ISAPI, написанный для IIS6. Теперь мне нужно написать оболочку для IIS7, чтобы обернуть фильтр IIS6. Я планирую написать HTTP-модуль в C# и Pinvoke неуправляемые методы dll.Как преобразовать методы и структуры, связанные с ISAPI, в C#
мне нужно C# представление следующего кода,
DWORD WINAPI HttpFilterProc(
PHTTP_FILTER_CONTEXT pfc,
DWORD notificationType,
LPVOID pvNotification
);
typedef struct _HTTP_FILTER_CONTEXT HTTP_FILTER_CONTEXT {
DWORD cbSize;
DWORD Revision;
PVOID ServerContext;
DWORD ulReserved;
BOOL fIsSecurePort;
PVOID pFilterContext;
BOOL GetServerVariable;
BOOL AddResponseHeaders;
BOOL WriteClient;
VOID * AllocMem;
BOOL ServerSupportFunction;
} HTTP_FILTER_CONTEXT, * PHTTP_FILTER_CONTEXT;
Я попытался с помощью PInvoke Assistant из CodePlex, но я не могу заставить его работать. Кто-нибудь сделал что-нибудь подобное раньше? Может ли кто-нибудь предоставить решение выше?
Исправления: Правильная структура добавлено
Спасибо. Это решило исключение PInvokeStackImbalance при отладке. Но у меня все еще есть pvNotification, возвращаемая как Zero. Я буду проверять другие детали, а затем обновлять здесь. – GorillaCoder
Я не могу проголосовать за ваш ответ. – GorillaCoder
'IntPtr.Zero' будет передан, когда в параметре' pvNotification' ничего не будет передано. У вас недостаточно репутации для голосования, но вы можете согласиться. –