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);
BOOL WINAPI SetPortW(PWSTR pName, PWSTR pPortName, DWORD dwLevel, PBYTE pPortInfo)
BOOL WINAPI ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
BOOL WINAPI EnumPortsW(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
DWORD WINAPI GetLastError(VOID)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
#define ERROR_INVALID_USER_BUFFER
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
BOOL WINAPI AddPortExW(PWSTR pName, DWORD Level, PBYTE lpBuffer, PWSTR lpMonitorName)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct _LIST_ENTRY * Flink
BOOL WINAPI AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
LIST_ENTRY PrintProviderList
BOOL WINAPI DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
_In_ DWORD _Out_ PDWORD pcbNeeded
PRINTPROVIDOR PrintProvider
base of all file and directory entries