NdisMCreateLog function (ndis.h)
NdisMCreateLog allocates and opens a log file in which a miniport driver can write data to be displayed by a driver-dedicated Win32 application.
Syntax
NDIS_STATUS NdisMCreateLog(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] UINT Size,
[out] PNDIS_HANDLE LogHandle
);
Parameters
[in] MiniportAdapterHandle
Specifies the handle input to MiniportInitializeEx.
[in] Size
Specifies how many bytes to allocate for the log file. NDIS creates a temporary file that is not stored on disk.
[out] LogHandle
Pointer to a caller-supplied variable in which this function returns a handle to the log file. This handle is a required parameter to the NdisXxxLog functions that the miniport driver calls subsequently.
Return value
NdisMCreateLog can return one of the following:
Return code | Description |
---|---|
|
The miniport driver can use the handle returned at LogHandle to write data to the NDIS-allocated log file. |
|
A log file of the specified size could not be allocated. |
|
The driver already called NdisMCreateLog successfully. |
Remarks
A miniport driver can call the NdisM..Log functions to provide any information the driver writer chooses. Whatever the miniport driver logs can be displayed by a driver-dedicated Win32 application. Such an application calls the Win32 function DeviceIoControl with IOCTL_NDIS_GET_LOG_DATA periodically to retrieve whatever the miniport driver has written to the log file. For example, an under-development miniport driver might write test data to be displayed by its corresponding application.
If NdisMCreateLog returns NDIS_STATUS_RESOURCES, the driver can adjust the original Size down and try calling this function again. However, a miniport driver cannot call NdisMCreateLog to create more than one log file after a call succeeds.
Whatever size of log file is allocated, subsequent calls to NdisMWriteLogData store data in this file, which is treated as a circular buffer. That is, a sequence of calls to NdisMWriteLogData eventually overwrites the data originally written to the log file.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMCreateLog (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMCreateLog (NDIS 5.1)) in Windows XP. |
Target Platform | Universal |
Header | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI compliance rules | Irql_Miniport_Driver_Function(ndis) |