Hi,
I have some issues trying to get the ssid. The underlying miniport says in
NDIS_RESTART_GENERAL_ATTRIBUTES that is supporting OID_802_11_SSID.
But when I query it, I get, on the callback, 0xC00000BB =
STATUS_NOT_SUPPORTED.
Adapter is Intel(R) Wireless WiFi Link 4965AG.
OID_802_11_SSID - is mandatory.
code:
FilterRestart()…
…
p_ndis_request =
NdisAllocateMemoryWithTagPriority(p_module_context->NdisFilterModuleHandle,
sizeof(NDIS_OID_REQUEST),
POOL_TAG,
HighPoolPriority);
if(NULL == p_ndis_request){
status = NDIS_STATUS_RESOURCES;
break;
}
NdisZeroMemory(p_ndis_request, sizeof(NDIS_OID_REQUEST));
//fill ndis request structure
p_ndis_request->Header.Type = NDIS_OBJECT_TYPE_OID_REQUEST;
p_ndis_request->Header.Revision = NDIS_OID_REQUEST_REVISION_1;
p_ndis_request->Header.Size =
NDIS_SIZEOF_OID_REQUEST_REVISION_1;//sizeof(NDIS_OID_REQUEST) - STATUS
invalid OID
p_ndis_request->Timeout = 10;
//requesting SSID
p_ndis_request->RequestType = NdisRequestQueryInformation;
p_ndis_request->DATA.QUERY_INFORMATION.Oid = OID_802_11_SSID;
//set buffer to receive the result, required from NON paged
memory pool
p_ndis_request->DATA.QUERY_INFORMATION.InformationBufferLength =
sizeof(NDIS_802_11_SSID);
p_ndis_request->DATA.QUERY_INFORMATION.InformationBuffer =
&p_module_context->SSID;
//Zero buffer
//NdisZeroMemory(p_ndis_request->DATA.QUERY_INFORMATION.InformationBuffer,
//
p_ndis_request->DATA.QUERY_INFORMATION.InformationBufferLength);
p_request_context =
(PFILTER_REQUEST_CONTEXT)(&p_ndis_request->SourceReserved[0]);
p_request_context->_first = (DWORD)OID_SSID_SOURCE_RESERVED;
p_ndis_request->RequestId = (PVOID)OID_SSID_FILTER_REQUEST_ID;
p_ndis_request->RequestHandle =
p_module_context->NdisFilterModuleHandle;
status =
NdisFOidRequest(p_module_context->NdisFilterModuleHandle, p_ndis_request);
…
Thank you,