windows-nt/Source/XPSP1/NT/net/layer2svc/zeroconf/server/deviceio.h
2020-09-26 16:20:57 +08:00

88 lines
1.9 KiB
C

#pragma once
// size of the buffer to use when querying an interface
// binding from NDIS (IOCTL_NDISUIO_QUERY_BINDING)
#define QUERY_BUFFER_SIZE 1024
#define QUERY_BUFFER_MAX 65536 // 64K should be more than enough for an interface binding structure
DWORD
DevioGetNdisuioHandle(
PHANDLE pHandle);
DWORD
DevioCheckNdisBinding(
PNDISUIO_QUERY_BINDING pndBinding,
ULONG nBindingLen);
DWORD
DevioGetIntfBindingByIndex(
HANDLE hNdisuio, // IN opened handle to NDISUIO. If INVALID_HANDLE_VALUE, open one locally
UINT nIntfIndex, // IN interface index to look for
PRAW_DATA prdOutput); // OUT result of the IOCTL
DWORD
DevioGetInterfaceBindingByGuid(
HANDLE hNdisuio, // IN opened handle to NDISUIO. If INVALID_HANDLE_VALUE, open one locally
LPWSTR wszGuid, // IN interface GUID as "{guid}"
PRAW_DATA prdOutput); // OUT result of the IOCTL
DWORD
DevioGetIntfStats(
PINTF_CONTEXT pIntf);
DWORD
DevioGetIntfMac(
PINTF_CONTEXT pIntf);
DWORD
DevioNotifyFailure(
LPWSTR wszIntfGuid);
DWORD
DevioOpenIntfHandle(
LPWSTR wszIntfGuid,
PHANDLE phIntf);
DWORD
DevioCloseIntfHandle(
PINTF_CONTEXT pIntf);
DWORD
DevioSetIntfOIDs(
PINTF_CONTEXT pIntfContext,
PINTF_ENTRY pIntfEntry,
DWORD dwInFlags,
PDWORD pdwOutFlags);
DWORD
DevioRefreshIntfOIDs(
PINTF_CONTEXT pIntf,
DWORD dwInFlags,
PDWORD pdwOutFlags);
DWORD
DevioQueryEnumOID(
HANDLE hIntf,
NDIS_OID Oid,
DWORD *pdwEnumValue);
DWORD
DevioSetEnumOID(
HANDLE hIntf,
NDIS_OID Oid,
DWORD dwEnumValue);
DWORD
DevioQueryBinaryOID(
HANDLE hIntf,
NDIS_OID Oid,
PRAW_DATA pRawData,
DWORD dwMemEstimate);
DWORD
DevioSetBinaryOID(
HANDLE hIntf,
NDIS_OID Oid,
PRAW_DATA pRawData);