159 if (cbBuf && !pPorts)
170 cbCallBuffer = cbBuf;
171 pCallBuffer = pPorts;
185 bReturnValue = pPrintProvider->
PrintProvider.fpEnumPorts(
pName,
Level, pCallBuffer, cbCallBuffer, &cbNeeded, &dwReturned);
194 *pcReturned += dwReturned;
197 if (cbNeeded < cbCallBuffer)
198 cbCallBuffer -= cbNeeded;
204 pCallBuffer += cbNeeded;
232 bReturnValue = pPrintProvider->
PrintProvider.fpSetPort(
pName, pPortName, dwLevel, pPortInfo);
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
base of all file and directory entries
struct _LIST_ENTRY * Flink
PRINTPROVIDOR PrintProvider
#define CONTAINING_RECORD(address, type, field)
LIST_ENTRY PrintProviderList
BOOL WINAPI SetPortW(PWSTR pName, PWSTR pPortName, DWORD dwLevel, PBYTE pPortInfo)
BOOL WINAPI AddPortExW(PWSTR pName, DWORD Level, PBYTE lpBuffer, PWSTR lpMonitorName)
BOOL WINAPI ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
BOOL WINAPI DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
BOOL WINAPI EnumPortsW(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
DWORD WINAPI GetLastError(void)
_In_ DWORD _Out_ PDWORD pcbNeeded
#define ERROR_INVALID_USER_BUFFER
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level