#include "includes.h"
#include <wbemidl.h>
#include "common.h"
Go to the source code of this file.
Classes | |
struct | ndis_events_data |
Defines | |
#define | _WIN32_WINNT 0x0400 |
#define | BstrAlloc(x) (x) ? SysAllocString(x) : NULL |
#define | BstrFree(x) if (x) SysFreeString(x) |
#define | MAX_QUERY_LEN 256 |
Enumerations | |
enum | event_types { EVENT_CONNECT, EVENT_DISCONNECT, EVENT_MEDIA_SPECIFIC, EVENT_ADAPTER_ARRIVAL, EVENT_ADAPTER_REMOVAL, EVENT_CONNECT, EVENT_DISCONNECT, EVENT_MEDIA_SPECIFIC, EVENT_ADAPTER_ARRIVAL, EVENT_ADAPTER_REMOVAL } |
Functions | |
HRESULT STDMETHODCALLTYPE | call_IWbemLocator_ConnectServer (IWbemLocator *pLoc, LPCWSTR strNetworkResource, LPCWSTR strUser, LPCWSTR strPassword, LPCWSTR strLocale, long lSecurityFlags, LPCWSTR strAuthority, IWbemContext *pCtx, IWbemServices **ppNamespace) |
HRESULT STDMETHODCALLTYPE | call_IWbemServices_ExecNotificationQueryAsync (IWbemServices *pSvc, LPCWSTR strQueryLanguage, LPCWSTR strQuery, long lFlags, IWbemContext *pCtx, IWbemObjectSink *pResponseHandler) |
HRESULT STDMETHODCALLTYPE | call_IWbemServices_ExecQuery (IWbemServices *pSvc, LPCWSTR strQueryLanguage, LPCWSTR strQuery, long lFlags, IWbemContext *pCtx, IEnumWbemClassObject **ppEnum) |
static void | ndis_events_adapter_arrival (struct ndis_events_data *events) |
static void | ndis_events_adapter_removal (struct ndis_events_data *events) |
static ULONG STDMETHODCALLTYPE | ndis_events_add_ref (IWbemObjectSink *this) |
static int | ndis_events_constructor (struct ndis_events_data *events) |
void | ndis_events_deinit (struct ndis_events_data *events) |
static void | ndis_events_destructor (struct ndis_events_data *events) |
static int | ndis_events_get_adapter (struct ndis_events_data *events, const char *ifname, const char *desc) |
static HRESULT STDMETHODCALLTYPE | ndis_events_indicate (IWbemObjectSink *this, long lObjectCount, IWbemClassObject __RPC_FAR *__RPC_FAR *ppObjArray) |
struct ndis_events_data * | ndis_events_init (HANDLE *read_pipe, HANDLE *event_avail, const char *ifname, const char *desc) |
static void | ndis_events_media_connect (struct ndis_events_data *events) |
static void | ndis_events_media_disconnect (struct ndis_events_data *events) |
static void | ndis_events_media_specific (struct ndis_events_data *events, IWbemClassObject *pObj) |
static HRESULT STDMETHODCALLTYPE | ndis_events_query_interface (IWbemObjectSink *this, REFIID riid, void **obj) |
static ULONG STDMETHODCALLTYPE | ndis_events_release (IWbemObjectSink *this) |
static int | ndis_events_send_event (struct ndis_events_data *events, enum event_types type, char *data, size_t data_len) |
static HRESULT STDMETHODCALLTYPE | ndis_events_set_status (IWbemObjectSink *this, long lFlags, HRESULT hResult, BSTR strParam, IWbemClassObject __RPC_FAR *pObjParam) |
static int | ndis_events_use_desc (struct ndis_events_data *events, const char *desc) |
static int | notification_query (IWbemObjectSink *pDestSink, IWbemServices *pSvc, const char *class_name) |
static int | register_async_notification (IWbemObjectSink *pDestSink, IWbemServices *pSvc) |
Variables | |
static int | wmi_first = 1 |
static int | wmi_refcnt = 0 |
#define _WIN32_WINNT 0x0400 |
Definition at line 15 of file ndis_events.c.
#define BstrAlloc | ( | x | ) | (x) ? SysAllocString(x) : NULL |
Definition at line 44 of file ndis_events.c.
#define BstrFree | ( | x | ) | if (x) SysFreeString(x) |
Definition at line 45 of file ndis_events.c.
#define MAX_QUERY_LEN 256 |
enum event_types |
EVENT_CONNECT | |
EVENT_DISCONNECT | |
EVENT_MEDIA_SPECIFIC | |
EVENT_ADAPTER_ARRIVAL | |
EVENT_ADAPTER_REMOVAL | |
EVENT_CONNECT | |
EVENT_DISCONNECT | |
EVENT_MEDIA_SPECIFIC | |
EVENT_ADAPTER_ARRIVAL | |
EVENT_ADAPTER_REMOVAL |
Definition at line 118 of file ndis_events.c.
HRESULT STDMETHODCALLTYPE call_IWbemLocator_ConnectServer | ( | IWbemLocator * | pLoc, | |
LPCWSTR | strNetworkResource, | |||
LPCWSTR | strUser, | |||
LPCWSTR | strPassword, | |||
LPCWSTR | strLocale, | |||
long | lSecurityFlags, | |||
LPCWSTR | strAuthority, | |||
IWbemContext * | pCtx, | |||
IWbemServices ** | ppNamespace | |||
) |
Definition at line 90 of file ndis_events.c.
HRESULT STDMETHODCALLTYPE call_IWbemServices_ExecNotificationQueryAsync | ( | IWbemServices * | pSvc, | |
LPCWSTR | strQueryLanguage, | |||
LPCWSTR | strQuery, | |||
long | lFlags, | |||
IWbemContext * | pCtx, | |||
IWbemObjectSink * | pResponseHandler | |||
) |
Definition at line 69 of file ndis_events.c.
HRESULT STDMETHODCALLTYPE call_IWbemServices_ExecQuery | ( | IWbemServices * | pSvc, | |
LPCWSTR | strQueryLanguage, | |||
LPCWSTR | strQuery, | |||
long | lFlags, | |||
IWbemContext * | pCtx, | |||
IEnumWbemClassObject ** | ppEnum | |||
) |
Definition at line 49 of file ndis_events.c.
static void ndis_events_adapter_arrival | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 294 of file ndis_events.c.
static void ndis_events_adapter_removal | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 301 of file ndis_events.c.
static ULONG STDMETHODCALLTYPE ndis_events_add_ref | ( | IWbemObjectSink * | this | ) | [static] |
Definition at line 175 of file ndis_events.c.
static int ndis_events_constructor | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 125 of file ndis_events.c.
void ndis_events_deinit | ( | struct ndis_events_data * | events | ) |
Definition at line 444 of file ndis_events.c.
static void ndis_events_destructor | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 147 of file ndis_events.c.
static int ndis_events_get_adapter | ( | struct ndis_events_data * | events, | |
const char * | ifname, | |||
const char * | desc | |||
) | [static] |
Definition at line 489 of file ndis_events.c.
static HRESULT STDMETHODCALLTYPE ndis_events_indicate | ( | IWbemObjectSink * | this, | |
long | lObjectCount, | |||
IWbemClassObject __RPC_FAR *__RPC_FAR * | ppObjArray | |||
) | [static] |
Definition at line 309 of file ndis_events.c.
struct ndis_events_data* ndis_events_init | ( | HANDLE * | read_pipe, | |
HANDLE * | event_avail, | |||
const char * | ifname, | |||
const char * | desc | |||
) | [read] |
Definition at line 708 of file ndis_events.c.
static void ndis_events_media_connect | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 232 of file ndis_events.c.
static void ndis_events_media_disconnect | ( | struct ndis_events_data * | events | ) | [static] |
Definition at line 239 of file ndis_events.c.
static void ndis_events_media_specific | ( | struct ndis_events_data * | events, | |
IWbemClassObject * | pObj | |||
) | [static] |
Definition at line 246 of file ndis_events.c.
static HRESULT STDMETHODCALLTYPE ndis_events_query_interface | ( | IWbemObjectSink * | this, | |
REFIID | riid, | |||
void ** | obj | |||
) | [static] |
Definition at line 160 of file ndis_events.c.
static ULONG STDMETHODCALLTYPE ndis_events_release | ( | IWbemObjectSink * | this | ) | [static] |
Definition at line 182 of file ndis_events.c.
static int ndis_events_send_event | ( | struct ndis_events_data * | events, | |
enum event_types | type, | |||
char * | data, | |||
size_t | data_len | |||
) | [static] |
Definition at line 198 of file ndis_events.c.
static HRESULT STDMETHODCALLTYPE ndis_events_set_status | ( | IWbemObjectSink * | this, | |
long | lFlags, | |||
HRESULT | hResult, | |||
BSTR | strParam, | |||
IWbemClassObject __RPC_FAR * | pObjParam | |||
) | [static] |
Definition at line 393 of file ndis_events.c.
static int ndis_events_use_desc | ( | struct ndis_events_data * | events, | |
const char * | desc | |||
) | [static] |
Definition at line 456 of file ndis_events.c.
static int notification_query | ( | IWbemObjectSink * | pDestSink, | |
IWbemServices * | pSvc, | |||
const char * | class_name | |||
) | [static] |
Definition at line 400 of file ndis_events.c.
static int register_async_notification | ( | IWbemObjectSink * | pDestSink, | |
IWbemServices * | pSvc | |||
) | [static] |
Definition at line 422 of file ndis_events.c.
int wmi_first = 1 [static] |
Definition at line 28 of file ndis_events.c.
int wmi_refcnt = 0 [static] |
Definition at line 27 of file ndis_events.c.